Seguridad Wireless - Wifi

Equipos y materiales => Puntos de acceso, routers, switchs y bridges => Mensaje iniciado por: SERASER en 06-06-2011, 20:38 (Lunes)

Título: by alex6cu: Tutorial desbrickear ap senao eoc 2610/Howto unbrick ap eoc 2610.
Publicado por: SERASER en 06-06-2011, 20:38 (Lunes)
EN CONSTRUCCION, LENTO PERO SEGURO..........

Tutorial que parte de la experiencia acumulada en el hilo https://foro.seguridadwireless.net/puntos-de-acceso-routers-switchs-y-bridges/alguien-ha-realizado-jtag-con-senao-eoc-2610/

Este tutorial es obra de alex6cu, siendo yo solo participe de el en cuanto a su publicacion y pequeñas modificaciones insignificantes.





Como recuperar un Access Point Engenius EOC-2610 muerto. (Bricked)
por Alexéi Montero F.

Una breve historia:

Mi AP quedó muerto luego de intentar cambiar de firmware para probar Open-wrt. Sin
experiencia, cometí un grave error intentando grabar una imagen que no contenía el bootloader desde el inicio de la flash.

Cuando reinicié el AP, este quedo muerto sin LAN, sólo con el led POWER encendido.

A muchos otros puede haberle ocurrido durante una falla de voltaje, al actualizar con un fichero erróneo, etc.; puede ocurrir de muchas maneras. Si tienen los mismos síntomas,  están en el mismo caso que yo.

El problema es que no hay LAN, por lo que tampoco hay acceso al RedBoot o al revés no hay
RedBoot, por lo que no hay LAN. No cambia el problema, a mi modo de ver.
Cuando tenemos LAN existen muchas posibilidades de recuperar el AP, eso está bien
documentado. Aunque es posible que no siempre funcionen los procedimientos.
En el caso que hayamos probado todo lo conocido, entonces creo que este es uno de los
últimos recursos.

Agradecimientos:

Este proceso, que ahora parece sencillo, pero que requirió de muchas horas de trabajo, estudio, búsqueda en Internet y pruebas. Es fruto de la colaboración de muchas personas, que no nos conocemos personalmente, a través del foros www.seguridadwireless.com y costó además la rotura definitiva de uno o dos equipos de los iniciadores de este esfuerzo por salvar los AP EOC-2610 muertos. No existía ni información ni la experiencia necesaria para enfrentar esta tarea pero varios inconformes no nos resignamos a perder los equipos que un momento antes trabajaban perfectamente. Mi agradecimiento personal para sERASEr, Ciberpanare,Kozaki666, corwar y muchos otros que también contribuyeron, ellos abrieron el camino y gracias a sus experiencias pude recuperar mi AP. Creo que el mejor pago a su esfuerzo es este tutorial, que puede ayudar a muchas personas a recuperar sus equipos. Los resultados hablan por si mismos.

Advertencia:

Primero que todo este procedimiento no se debe intentar si no se tiene experiencia y
habilidades en la electrónica. Creo que es un último recurso. Es posible que incluso haya otro
método menos riesgoso.
Se necesitan conocimientos de electrónica, ciertas habilidades de soldadura y diseño de
circuitos impresos, así como conocimientos básicos de informática.

Procedimiento:

Desoldar la flash del PCB con una pistola o cautín de aire caliente, no intentar con cautín u otro tipo de soldador porque de seguro se dañará el impreso o las patillas de la flash.
No intenten este procedimiento hasta haber leído completamente esta guía.

Así quedó el mío. Limpien bien los restos de estaño con un pincel o cepillo de cerdas
ligeramente duras, aunque no debería quedar ninguno, a mi se me cayó la memoria cuando la
alzaba con una pinza y de ahí el reguero de estaño.
Soldar con un cautín normal de poca potencia y punta fina 6 cables bien finos de unos 12 – 13 cm en los contactos del PCB donde va la flash, (Yo utilicé uno cautín 30 W)

Cable 1- Pin 1 (esta unido con los pines 2 y 9)
Cable 2- Pin 7
Cable 3- Pin 8
Cable 4- Pin 10
Cable 5- Pin 15
Cable 6- Pin 16

Pueden fijarlos de manera temporal con silicona en una parte del PCB donde no afecte el
impreso.
Estos cables nos servirán para luego conectar el circuito de grabación y probar los resultados.
Yo no tenía a mano silicona y los deje libre, eso si los uní entre si para no hacerle fuerza a uno sólo por separado y los manipulé con mucho cuidado a la hora de soldarlos al circuito de
grabación. Hice muchas, muchas pruebas, debo haber grabado y probado unas 12 ó 15 veces la flash, quizás más y no se dañó ni el circuito ni la flash. Si lo hacéis con cuidado no pasará nada.

Si no tienen experiencia o habilidad suficiente busquen ayuda de algún amigo que si la
tenga.
Hacer el circuito que reproduzco a continuación para grabar la flash, es similar al discutido en el foro :
https://foro.seguridadwireless.net/puntos-de-acceso-routers-switchs-y-bridges/alguien-ha-realizado-jtag-con-senao-eoc-2610/msg164771/#msg164771, con algunas pequeñas variaciones en los valores.

Utilicé resistencias de 330 ohm, estas resistencias pueden oscilar entre 100 y 350 ohm. Su
objetivo es limitar los valores de corriente entre el puerto paralelo de la com****dora y la flash, porque los niveles lógicos de ambos dispositivos son diferentes.

Para manipular mejor la flash, les sugiero hacer un circuito que evite tener que soldarla y
desoldarla porque en algún momento se partirá alguna patilla.

Este es el pequeño impreso que hice con los pocos recursos que tenía disponibles. No quedó
bonito pero si funcional. Le incluí un dispositivo plástico para fijar la flash apretando la parte
plana de las patillas contra el impreso para asegurar el contacto, seguramente ustedes puedan conseguir una base adecuada, en mi país eso es prácticamente imposible. Ni hablar de la pistola de aire, esa es otra historia.

En el impreso los puntos rojos son para soldar los cables finos que previamente colocamos en
el PCB del AP.
1
8
16
9
+
10uF / 6v
330 I 330 I
330 I 330 I
Vcc 3.3 Volt
Pin 1, 2, 9
Pin 10
GND
LPT Port
Pin 7 Pin 10 Pin 9 Pin 8 Pin 18
Pin 7 Pin 8
Pin 16
Pin 15
+
10uF
VCC
2.7 – 3.3 V
M25P64
1
2
7
8
10
9
15
16
330 I
330 I
330 I
330 I
Puerto
LPT
DB25
Pin 7
Pin 10
Pin 9
Pin 8
Pin 18

Una vez colocada y fijada la memoria en el circuito comprueben la continuidad desde las patillas del CI con los distintos puntos que correspondan. Hagan los ajustes necesarios hasta lograr un contacto adecuado de todas las patillas. Si tienen algún problema prueben estañar los contactos y emparejar con lija fina. Eso también evita la oxidación del cobre de los mismos y posibles falso contactos posteriores.

Utilizando el programa SPIPGMW descargado de Raver’s Homepage Programmer
http://rayer.ic.cz/programm/spipgm.zip se puede borrar y grabar la flash con facilidad y relativa rapidez.

Cópienlo en una carpeta con un nombre corto y sin espacios para más facilidad en el
trabajo; algo como C:\EOC2610 y descompáctenlo.
Para el Engenius EOC2610 obtuve una copia completa de la flash de un AP en funcionamiento
(Al final explicaré el procedimiento).

El fichero EOC-2610-OK.bin, que envío adjunto, cópienlo en la misma carpeta que utilizamos
anteriormente para guardar el programa
Antes de grabarlo es preciso modificar algunos datos, con un editor hexadecinal, en las
direcciones: 7F0060 (MAC WLAN) y la 7F0066 (MAC de la LAN)
Pueden utilizar el WinHEX, me parece muy completo y fácil de utilizar.
En estos puntos hace presión el dispositivo

En la foto pueden ver con letras AA AA AA AA AA AA donde deben escribir su MAC WIFI y con BB BB BB BB BB BB la posición de la MAC LAN.
En el AP EOC-2610, las MAC están impresas en una etiqueta en la parte posterior del equipo la superior es la de la LAN y la inferior de la WIFI. Es muy posible que si no se corresponden con los valores físicos de las interfaces no funcione, esa prueba no la hice.

Con este cambio, estamos listo para grabar el fichero en la flash.

Lo primero es conectar el circuito al puerto paralelo de la com****dora y alimentarlo con una
fuente de 2.7 -3.6 volt. Yo utilicé una fuente regulada, ajustada a 3.3 volt. Eso sería
recomendable.

En una ventana de comandos ejecutamos el SPIPGMW con la opción /i que permite identificar
el CI.

C:\EOC2610>SPIGGMW /i

Si todo está bien debemos obtener esta salida:

El programa logra identificar el tipo (FlashROM JEDEC ID: 202017h) y el fabricante de la flash
(ST Mircroelectronic M25P64 (8 MB))
Para lograr una grabación correcta de los datos debemos borrar la flash para inicializar todo
contenido con FF. Podemos a borrar la memoria con el siguiente comando:

C:\EOC2610>SPIGGMW /e

MAC WIFI MAC LAN
SPI FlashROM Programmer 1.6 (C) 2008-2009 by Martin Rehak; rayer@seznam.cz
Compiled by GCC 3.4.5 (mingw-vista special r3) at 22:49:21, Jan 21 2009
(Win9x/NT/2K/XP compatability)
SPI connected to LPT port at I/O base address: 378h, SCK pulse width: t+0us
FlashROM JEDEC ID, type: 202017h
ST Microelectronic M25P64 (8MB)
Status = 00h (SRP, RES, TB , BP2, BP1, BP0, WEL, BSY)
0 0 0 0 0 0 0 0

Y por último grabamos el fichero con la copia de la flash.

C:\EOC2610>SPIGGMW /p EOC2610-OK.bin

Cuando el proceso termine podemos probar si todo quedó bien.
Desconectamos la fuente de 3.3 volt y luego el circuito del puerto de la com****dora. Soldamos los cables del AP a los puntos correspondientes del circuito de grabación.
Configuramos en la com****dora la interface de red a la que está conectado el AP con la
IP:192.168.1.11 mascara: 255.255.255.0, conectamos los cables de red al AP y lo encendemos.

Debemos recuperar la LAN casi inmediatamente y a un poco después debe encenderse el led
WLAN. El AP debe levantar con los valores por defecto pero para asegurarnos, podemos
resetear al AP oprimiendo el botón de reset por aproximadamente 5 segundos.

Luego de eso la configuración por defecto será:

IP: 192.168.1.1
User: admin.
Password: admin

Podemos hacer un ping 192.168.1.1 para comprobar si tenemos respuesta del AP y por
supuesto también entrar en la página de administración http://192.168.1.1
Actualicen al último firmware, por alguna razón a pesar de que el AP de donde realicé el dump
de la flash tenía la version 1.3.1, al recuperar mi AP mostraba como versión 1.2.4. (Un misterio más de SENAO).

Si todo les fue bien, FELICIDADES!!!!!
Ahora a soldar nuevamente la flash al PCB con mucho cuidado, Esta operación puede hacerse con un cautín de punta bien fina o con la misma pistola de aire que utilizamos al principio para no echar a perder lo ganado hasta ahora. Para soldar con aire caliente necesitan algo así como una pasta especial, según algunos amigos por acá, con más experiencia que yo en soldar componentes de superficie. Ellos me recomendaron que lo hiciera con el cautín, porque de esapasta ni hablar… en este punto ustedes deciden.

Verifiquen bien la soldadura y que no hayan quedado restos de estaño que cortocircuiten las
patillas de la flash.

¡Listo Access Point EOC-2610 RECUPERADO!
SPI FlashROM Programmer 1.9c (C) 2008-2011 by Martin Rehak; rayer@seznam.cz
Compiled by GCC 4.4.0 at 23:20:41, Mar 22 2011
(Win9x/NT/2K/XP compatability)
SPI connected to LPT port at I/O base address: 378h, SCK pulse width: t+0us
FlashROM JEDEC ID, type: 202017h
ST Microelectronic M25P64 (8MB)
Status = 02h, WE bit is enabled
Please wait... done.

Para los que quieren saber más.

Este procedimiento puede mejorarse mucho, pero así resulta bastante sencillo y “sin muchas
complicaciones”.

De mi experiencia en esta tarea puedo darle algunas conclusiones.
En el EOC-2610, el Redboot se carga en la RAM y se ejecuta. Cuando mi AP se brickeo
posiblemente lo que haya sucedido es que sobrescribí la zona de la flash donde reside el
Redboot con una imagen que no lo contenía, al resetear, por supuesto adiós RAM y no había
nada que cargar de la flash. A otras personas puede haberle sucedido que se le haya
interrumpido el proceso por diversas razones o hayan utilizado una imagen con errores, en fin
no hay RedBoot, no hay LAN, no hay forma de conectarse con el dispositivo.

El Access Point a muerto.

A partir de la dirección de memoria 0xA7F0000 (según el esquema de memoria del AP), existen datos vitales para el booteo entre ellos las MAC de las interfaces LAN y WIFI (de la 0xA7F0060 a la 0xA7F006B), esta zona está protegida o al menos el Redboot de SENAO, no deja escribir en ellas. Es casi seguro que esta información esté intacta cuando sacamos la flash, se puede comprobar antes de borrar los datos:

C:\EOC2610> SPWPGIW /d dumpEOC2610muerto.bin

Y editamos el fichero “dumpEOC2610muerto.bin” con el WinHex. Vamos a la posición 7F0000 y podremos verificar si nuestra flash contiene aún esos datos vitales.
Con mi inexperiencia, lo primero que hice fue borrar la flash para probar los comandos del
SPIPGMW y de seguro los borre, porque ahora sé que desde el Redboot, me hubiera sido
imposible modificar algo allí.
Si logramos grabar una imagen binaria de un RedBoot desde la dirección 0000000 sin modificar los datos de la 7F0000 a 7FFFFE podríamos recuperar el AP con los procedimientos que ya han sido documentados.
En mis pruebas grabé el MicroRedboot de DD-wrt (solo 64k) y funciona. Pude hacer todas las
operaciones, y grabarle un firmware con el procedimiento normal de SENAO, que no funcionó
en su momento por el tema de los datos en la 7F0000. Leí en un foro que el MicroRedBoot no
permite bootear otros firmware que no sea de DD-wrt, pero eso realmente no lo puede
comprobar al menos me dejo formatear la flash, grabar todos los archivos en las direcciones
correctas y configurar le script de booteo. Tampoco me interesó mucho ese tema porque al final sus firmware son pagos y tienen una política bastante drástica, pues sólo dan 24 horas de prueba.

El fichero Original2610.bin (8 323 072 bytes) que se puede descargar de Internet incluye
RedBoot y un firmware del EOC2610 completo y funcional. Desgraciadamente, el programa
SPIPGMW, no permite borrar sectores individuales de la flash, el comando implementado borra
la memoria completa. Para este tipo de memoria es necesario tener todos los bytes de la zona a grabar en FF. (borrados) para obtener un resultado correcto del proceso, el circuito M25P64 realiza la grabación llevando los bit de 1 a 0; obligatoriamente tenemos que borrarla
completamente, perdiendo esta información vital. Quizás en el futuro nuevas versiones permitan borrar sectores individuales dado que el circuito M25P64 si permite esta operación.

Quizás con otro programa para grabar memorias SPI se pueda hacer, por supuesto empleando otro circuito; pero la sencillez del circuito y la relativa rapidez con que realiza las operaciones el SPIPGMW son más que suficientes para obviar estos inconvenientes. En todo caso ya contamos con una imagen completa de la flash que nos permite borrar sin miedo la misma y restaurar los valores adecuados para realizar el booteo.

¿Cómo obtener una imagen de la flash de un dispositivo EOC2610?

Este procedimiento se me ocurrió por la necesidad de obtener la misma y por supuesto la
dificultad de encontrar alguien dispuesto a arriesgar su AP para desoldarle la flash y hacerle un dump por hardware. Eso es muy arriesgado, por mi cabeza hasta pasó mandar a comprar otro equipo para hacerlo. Por suerte se me alumbró el bombillo como decimos por acá.
El redboot permite realizar un volcado del contenido de la memoria para la pantalla en varios
formatos. Entonces pensé, que si podía salvar esa información de alguna manera podría
obtener el contenido que me interesaba. Con esta idea en mente lo demás fue hacer algunas
pruebas, activando el log del putty para grabar todo lo que muestre en la pantalla y ya tenemos una buena salva.
Procedimiento para obtener un volcado de la flash de un Engenius EOC-2610.
(Puede servir para otros modelos)

1. Conectarse al redboot del equipo utilizando el Putty 0.6.0

2. Activar el logging del Putty para grabar toda la sesión:

Click derecho en la barra de título, Change Settings/ Session / Loggings -> Printable
Output -> Apply

3. Ejecutar el comando:

dump –b 0xa8000000 –l 0x800000 –s

Después de cierto tiempo (se demora) se obtiene un fichero como este:

4. Cerrar el Putty y abrir el fichero “log” con el bloc de notas, donde lo hayamos
configurado.

Le eliminamos las primeras y las últimas líneas (marcadas en rojo) dejando solamente
las que comienzan con S315.

RedBoot> dump -b 0xa8000000 -l 0x800000 -s

S315A80000003C04B100348400088C880000350800023E
S315A8000010AC8800000000000F3C04B1003484000C3A
S315A80000208C88000035080002AC8800000000000F8C
S315A80000303C04B010348440048C8800003C01FFFCCA
S315A80000403421FFFF0101402435080000AC880000D8
...
S315A87FFFD0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04
S315A87FFFE0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4
S315A87FFFF0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4
RedBoot>

Salvamos con otro nombre por ejemplo DumpEOC2610.txt.

5. Este es el fichero con todo el contenido de la flash en formato Motorota S-record.
Comprueben las direcciones de inicio y final del archivo, están subrayadas en el ejemplo.
Existen varios programas que pueden convertir el mismo a binario, pero los que probé
me resultaron demasiado lentos. En todo caso ustedes pueden decidir, yo programé una
pequeña y sencilla aplicación que convierte el fichero en sólo algunos segundos.
(También la incluí en este paquete)
Su uso es sencillo:

C:>LogToBin <archivo origen> [<archivo destino>]

Si se omite el segundo argumento usa el nombre del origen agregándole la extensión:
bin.

En nuestro caso, siguiendo el ejemplo anterior quedaría

C:>LogToBin DumpEOC2610.txt DumpEOC2610.bin

El fichero obtenido debe tener exactamente 8 388 608 bytes que es el tamaño de las
flash M25P64 que trae instalada el EOC-2610.
Así se puede obtener la imagen binaria de la flash de un AP que estaba trabajando, sin
siquiera tener que bajarlo del mástil.

Para otros modelos:

Este procedimiento puede servir para otros modelos de Access Point de Senao, puesto
que incluso ellos ofrecen un procedimiento de recuperación de firmware original a partir
del redboot para varios modelos con ficheros comunes, la única diferencia son las
direcciones de memoria y el script de booteo.
Para otros modelos y fabricantes deben tener en cuenta el tamaño y la distribución de
memoria de los mismos, pero de seguro este procedimiento debe funcionar con sólo
algunos cambios mínimos.
Título: alex6cu: Tutorial desbrickear ap senao eoc 2610/Howto unbrick ap eoc 2610.
Publicado por: velociraptordsa en 23-09-2011, 16:47 (Viernes)
HOLA ALEX6CU. PRIMERO DARTE LAS GRACIAS POR TU GRAN APORTE PERO TENGO 2 EOC 2610 CON LAN MUERTA DESPUES D FLASHARLO CON DDWRT. HERMANO NECESITO UN ESQUEMA UN POCO MAS CLARO CON LA CONECIONES NECESARIAS  PARA REPARARLO YA QUE LOS DATOS QUE DAS SON UN POCO CUNFUSOS PARA MI. PROMETO AGRADECERTE ATI  Y A LAS DEMAS COLEGAS QUE HAN SACRIFICADO TIEMPO Y DINERO PARA CREAR UNA SOLUCION PARA ESTOS AP>    ADEMAS SUBIL CON FOTOS Y DETALLES TODOS LOS AVANCES Y PROCESOS DE ESTA TAREA  GRACIAS POR ADELANTADO, ESPERO TU COLABORACION Y PRONTA RESPUESTA
ATT... VELOCIRAPTORDSA
Título: Re: alex6cu: Tutorial desbrickear ap senao eoc 2610/Howto unbrick ap eoc 2610.
Publicado por: alist3r en 23-09-2011, 17:26 (Viernes)
HOLA ALEX6CU. PRIMERO DARTE LAS GRACIAS POR TU GRAN APORTE PERO TENGO 2 EOC 2610 CON LAN MUERTA DESPUES D FLASHARLO CON DDWRT. HERMANO NECESITO UN ESQUEMA UN POCO MAS CLARO CON LA CONECIONES NECESARIAS  PARA REPARARLO YA QUE LOS DATOS QUE DAS SON UN POCO CUNFUSOS PARA MI. PROMETO AGRADECERTE ATI  Y A LAS DEMAS COLEGAS QUE HAN SACRIFICADO TIEMPO Y DINERO PARA CREAR UNA SOLUCION PARA ESTOS AP>    ADEMAS SUBIL CON FOTOS Y DETALLES TODOS LOS AVANCES Y PROCESOS DE ESTA TAREA  GRACIAS POR ADELANTADO, ESPERO TU COLABORACION Y PRONTA RESPUESTA
ATT... VELOCIRAPTORDSA

aun estan trabajando en ello.
paciencia.
Título: Re: by alex6cu: Tutorial desbrickear ap senao eoc 2610/Howto unbrick ap eoc 2610.
Publicado por: SERASER en 23-09-2011, 20:51 (Viernes)
Hola.

Ciertamente no he terminado aun este how-to, pero tienes aqui todo lo necesario para recuperar el ap, lo que no podemos es hacerlo por ti, y por favor no mas mayusculas.

https://foro.seguridadwireless.net/puntos-de-acceso-routers-switchs-y-bridges/alguien-ha-realizado-jtag-con-senao-eoc-2610/msg203554/#msg203554

Saludos.