Durante unos días me he pateado el foro y varios sitios intentando localizar una forma de sacar los datos técnicos para poder configurar un SFP ONT junto con el Mikrotik y así poder quitar el ONT Zte F601 de Digi (solo por el hecho de tener un cacharro menos).
Ha sido una odisea, pero creo que tengo algo que puede ayudar a avanzar.
Empezaré contando por donde he pasado y con qué me he pegado ya por si sirve para descartar algunos métodos. Tened en cuenta que es mi caso en particular y no quiero generalizar que para todos funcione, pero por si os sirve.
Acceso a la ONT por IP
Como he visto en otros mensajes del foro, si, la ONT tiene por defecto la IP 192.168.1.1, pero no es accesible ni por ssh/telnet ni por web. La verdad es que no he hecho un Nmap para investigar qué puertos tiene en escucha, pero, aunque lo consiguiera, creo que no iba a poder entrar por usuario/contraseña, así que este método lo descarté bastante pronto.
Alguno de los hilos relacionados:
Acceso a la ONT por serie
Tenía claro que al final iba a tener que tirar por esta vía. Encontré un hilo (Extraer contraseña GPON y SN del ONT Zte F601) donde explica bastante bien cuales son los pines del header RS232 que hay que utilizar para el GND, el RX y el TX, así que tiré por ahí. PD: Para conectar los cables, no hice nada especial, pasar los hilos pelados por los "agujeros" y luego ponerle un poco de cinta aislante par que no se movieran.
Bien, con esto ya tengo consola. Por lo que veo en el arranque de la ONT, parece ser que la versión de la ONT que tengo no muestra los datos en claro mientras arranca (al igual que le pasa al forero que responde al final de ese hilo), así que tengo que buscar otra manera. Se me ocurre probar sin conectar la fibra y pasa lo mismo. Se me ocurre también resetear a fabrica la ONT, con la fibra desconectada para que no se autoprovisione y tampoco consigo mucho. No tengo ni el usuario/contraseña para entrar por consola y el usuario admin/admin que entra por la web, no puede ver en claro el password. Lo que sí puedo desde la web es hacer una descarga de la configuración (encriptada claro).
He utilizado también un proyecto en GitHub que es capaz de "desencriptar" un fichero config.bin del paso anterior, pero sin éxito. Al parecer el tipo de encriptación utilizado en este modelo no está soportado por la herramienta aún.
Sigo buscando y al final encuentro otro hilo del foro en el que el usuario @Victorious Hugo@ da alguna pista de acceder mediante consola. El hilo original: Extraer IdONT del ONT Zte F601 de Digi
Usando el método que explica en el post si he conseguido tener acceso shell a la ONT, pero he tenido que hacer algún ajuste para que funcionase. Usando las direcciones de memoria que indica en el post para cargar el firmware, me da error de CRC y no arranca, pero si leemos con detalle el arranque normal, veremos las direcciones de memoria que utiliza de forma habitual para el boot. Lo que hice fue modificar la línea donde se especifica la dirección donde tiene que ir a buscar el kernel y funcionó. Acceso shell conseguido. Os lo explico un poco mejor con imágenes.
En la imagen podeis ver, que corto el arranque pulsando una tecla en el momento que dice "Hit any key to stop autoboot". Después cargo a memoria un fragmento de la flash (línea sf read
). Después seteo varios parámetros para el arranque, como el puerto serie, donde está el sistema de archivos, y qué quiero ejecutar al final (init=/bin/sh
).
Cuando intento hacer que bootee lo que leí a memoria, veis el error en el CRC.
En el arranque normal, se puede ver como las direcciones de memoria no son las mismas, así que intento de nuevo modificando por las direcciones que se muestran en el arranque normal:
sf read 40600000 0x80000 0x10f2b0
setenv bootargs console=ttyS0,115200n8 root=/dev/mtdblock7 ro rootfstype=jffs2 mem=32M init=/bin/sh
bootm 0x40600100
Bueno, una vez que he conseguido acceso sh, ya tenemos acceso al contenido de la flash. Está también accesible el contenido de /etc
, pero no he conseguido sacar nada interesante.
Siguiendo con el post del compañero @Victorious Hugo@, hay que continuar el proceso de arranque escribiendo /etc/init.d/rcS
como se ve en la imagen:
En este punto, dejamos que la ONT termine de arrancar y al final volveremos a tener shell sin tener que hacer login.
Llegados a este punto, ya ha montado también /proc
donde está la información relevante. Tenemos que escribir cat /proc/tagparam_m/tagitem
para mostrar los datos relativos a la conexión:
Ahora queda usar alguna web que permita convertir de hexadecimal a texto y ya tendríamos los datos. Para que os sirva de guía qué dato es cada línea, me ayudé de este hilo de otro foro.
Una vez sacados los datos, procedí a configurar el SFP que compré, un Huawei MA5671A con el firmware OpenWrt ya cargado.
Aquí he conseguido que el SFP autentique contra la OLT. Se ve entrando en el SFP por ssh y ejecutando:
Y hasta aquí he llegado. No he conseguido que el Mikrotik vea un servidor PPPoE donde autenticarse en la VLAN 20. De hecho, probando cosas, he perdido el acceso al SFP y me toca recuperarlo (me llevará algo de tiempo conseguir las herramientas).
Espero que os sirva.