Por desgracia, no fue así de simple… me explico, en la práctica debería ser suficiente pero existen dos problemas, los valores devueltos convertidos de hexadecimal a ascii se salen del esquema y el segundo es que la codificación del dispositivo es otro problema a tener en cuenta. Después de estar haciendo un poco de ingeniería inversa conseguí habilitar algunos menús ocultos del dispositivos y también conseguí convertir el ONU-ID a ascii y establecerlo pero la codificación después hizo que cuando el dispositivo tenía que enviar desde el sistema el valor al GPON para identificarse no se lo pasaba con la misma codificación que lo estableció vía web y por ello fallaba.
El único workaround por el momento con el firmware original sería hacer lo siguiente desde el acceso telnet que se puede hacer al dispositivo.
Imaginemos que nuestro ONU-ID es: f2017002211334400000 si lo separamos en valores hexadecimales estaríamos hablando de
f2 01 70 02 21 13 34 40 00 00
Pues bien, teniendo en cuenta que los últimos ceros son relleno, y directamente no hace falta convertirlos, se puede simplificar a lo siguiente y desde la misma shell se puede convertir usando el comando echo de hex a ascii y pasar al dispositivo GPON (que localicé gracias a la ingeniería inversa) el valor del ONU-ID como contraseña.
pass="`echo -e '\xf2\x01\x70\x02\x21\x13\x34\x40'`"
echo passwd ${pass} > /proc/gpon/debug
El problema como imaginarás es que hace falta hacer esto en cada reinicio de la ONT. Así mismo también debes tener el GPON SN asignado a tu dispositivo oficial de Movistar (en mi caso) el cual puedes encontrar a través del OMCI aunque supongo que ese valor si sabrás localizarlo sino dímelo y te puedo explicar como.
Por si te surge curiosidad de los menús ocultos del dispositivo, desde la consola de desarrollador de Google Chrome por ejemplo, en la pestaña de consola prueba a ejecutar lo siguiente:
$.id("menu").insertAdjacentHTML('beforeend','<ul class="mu1"><li class="ml1"><a id="menu_network" onclick="return menuClick(this);" class="plus minus">Adv. Setting</a><ul class="mu2 ">'+
'<li class="ml2"><a href="index.htm?page=device_mgmt.htm" id="menu_wan" onclick="return menuClick(this);" class="">Device MGMT</a></li>'+
'<li class="ml2"><a href="index.htm?page=onu_sn.htm" id="menu_wan" onclick="return menuClick(this);" class="sel">ONT SN</a></li>'+
'<li class="ml2"><a href="index.htm?page=gponctc.htm" id="menu_wan" onclick="return menuClick(this);" class="">Auth CTC</a></li>'+
'<li class="ml2"><a href="index.htm?page=tcont.htm" id="menu_wan" onclick="return menuClick(this);" class="">TCONT</a></li>'+
'<li class="ml2"><a href="index.htm?page=iot_cfg.htm" id="menu_wan" onclick="return menuClick(this);" class="">IOT CFG</a></li>'+
'<li class="ml2"><a href="index.htm?page=optic.htm" id="menu_wan" onclick="return menuClick(this);" class="">Optic</a></li>'+
'<li class="ml2"><a href="index.htm?page=sw_status.htm" id="menu_wan" onclick="return menuClick(this);" class="">SW Status</a></li>'+
'<li class="ml2"><a href="index.htm?page=rt_stats.htm" id="menu_wan" onclick="return menuClick(this);" class="">Stats</a></li>'+
'<li class="ml2"><a href="index.htm?page=onu_debug.htm" id="menu_wan" onclick="return menuClick(this);" class="">ONU DEBUG</a></li>'+
'</ul></li></ul>');
Y verás todas las secciones "ocultas", ahora bien… bajo tu responsabilidad, en principio no es necesario para hacerlo funcionar tener acceso a esos menús.
Espero que te sirva de ayuda, contacté con ellos indicándoles todo esto a principios de Junio y tanto el soporte de UK como de España de TP-Link me trataron genial, son gente muy abierta a mejorar sus productos y muy amable. Según me dijeron se lo iban a pasar a la gente de desarrollo para trabajar en dar soporte a establecer los ONU-ID como contraseña usando un valor Hexadecimal como una posibilidad adicional a la actual.