Actualización del firmware. Zyxel 650 HW 31. Método parmenide.
MÉTODO PARMENIDE PARA ACTUALIZAR EL FIRMWARE DEL ROUTER ZYXEL HW-31
Con ese método conseguiremos actualizar el router Zyxel 650 HW-31 al firmware
IS2 y la bootbase 1.11, por tanto, la corrección de muchos bugs y algunos extras
como el bandwidth manager.
Sólo es válido, en principio, para usuarios
con Zyxel 650 HW-31 de telefónica y similares con bootbase 1.05 (sólo ha sido
probado en estos modelos aunque puede que funcione en otros de la serie)
Ahora están enviando un modelo nuevo: el Zyxel 650 HW-31e, que es inalámbrico
directamente.
Con este último modelo no funciona la actualización
del firmware según este método. PORQUE SE PIERDE LA FUNCIONALIDAD
WIRELESS.
Es importante decir que a partir de la actualización de la bootbase y el
firmware dejará de funcionar el software configurador de telefónica, por lo que
todas las operaciones de configuración habrá que hacerlas accediendo
directamente al router, bien por telnet, bien por navegador. Los procedimientos
para las diferentes configuraciones están en la sección correspondiente del
router en www.adslayuda.com.
PROCEDIMIENTO:
Bajar el firmware
IS2 del ftp de Zyxel
Bajar la bootbase 1.11
y extensiones dumpeadas por xavydu
Enchufar el cable de Serie al puerto COM del router y del ordenador , y
arrancar el Hyperterminal (se recomienda 9600 de velocidad , aunque tarde más,
tiene menos posibilidades de fallar). En el caso de que haya problemas de
conexión al usar el hyperterminal, puede usarse un emulador como el .
(Todos estos archivos están también disponibles en http://www.adslayuda.com/Downloads-index-req-viewdownload-cid-30.html)
Apagar y encender el router y entrar en el modo debug....
Introducir el comando ATSE, que nos proporcionará un código (código
seed). Este código lo usaremos para calcular una password y entrar en el
modo debug avanzado (algunos comandos están protegidos y sólo se activan de esta
manera), necesario para actualizar la bootbase

Algoritmo para el cálculo del password:
a = first 3 bytes of seed value
b = a + 0x10F0A563 (0x significa
hexadecimal)
c = (last byte of seed value) AND 7
password = (b ROR c) XOR
a
EJEMPLO:
seed 00BDC8667E5B
tomamos a= 00BDC8 (3
primeros bytes del valor seed)
Abrimos la calculadora de windows en mod
hex y qword
ahora hacemos b = a + 10F0A563 = 00BDC8 +
10F0A563
que nos da b = 10F1632B
c = (último byte del valor seed) 5B AND 7 = 3. El significado de c lo
explicamos un poco más adelante.
Para hacer b ROR c (teniendo 5B And 7
= 3)
Ponemos "b" en la calculadora en modo Hex y le damos al botón
de Bin (binario)
10F1632B = 10000111100010110001100101011 (resultado que
da la calculadora de windows)
cuidado en este paso, tiene que haber 32 bits, la calculadora de windows
trunca los ceros a la izquierda, así, el valor correcto tiene que ser:
10 = 00010000
F1 = 11110001
63 = 01100011
5B = 00101011
El valor de b en binario será, por tanto, (completando ceros a la izquierda
hasta que haya 32 bits):
b = 00010000111100010110001100101011
Ahora damos a edición --> copiar y lo pegamos en el bloc de notas. Habrá
que tomar tantos bits a la derecha como indique el valor "c" (en nuestro caso
c=3), y pasarlos a la izquierda uno a uno:
00010000111100010110001100101-011 ROR 3 = 011-00010000111100010110001100101
(la rayita es para que quede claro), ahora se copia y se pega en la calculadora
(pero sin la raya) (editar --> pegar) y le damos a hex
y ya tenemos 621E2C65
Por último:
621E2C65 xor A =
621E2C65 xor 00BDC8 === 621E91AD
621E91AD seria el password.
Cálculo de la password mediante el programa Zynpass ver 1.2.
Otra manera más sencilla de calcular la password es usar un sencillo
programa, el Zynpass
1.2 proporcionado por joe_user, usuario de nuestros foros. Podéis
conseguirlo aquí.
Para que este programa funcione es necesario instalar las extensiones .NET
Framework de microsoft. Se consiguen en windows update.
------------------------------------------------------------------------------------------
Ahora que ya tenemos los materiales necesarios, continuamos...
00BDC8667E5B <---------respuesta del router al comando ATSE (inventado)
aten 1,passwordcomputado
OK <---- si dice error prueba
de nuevo si no lo has computado mal
Ahora pasamos a la fase de transferir datos.
atdo BFC00000,6C5D0 <-----------Esto realiza una copia de tu
bootbase&extension por si quieres volver a meterla.
Es imprescindible que hagamos una copia de seguridad correcta de la
bootbase 1.05 que tengamos en el router.
Starting XMODEM download... <---Respuesta del router, ahora darle en el
Tera Term a xmodem receive y elegir donde lo queréis guardar (y el nombre)

Total xxxxxxx bytes received <----Vuelco completado
Si tenemos
problemas de cortes de transferencias cuando éstas son largas, lo podemos
solucionar cambiando la velocidad de transferencia. Para ello usamos desde el
debug mode el comando "ATBAx (change baudrate) 1:38.4k, 2:19.2k, 3:9.6k 4:57.6k
5:115.2k",,,,(en las pruebas ATBA4 es el que mejor ha ido). Por tanto
introducimos el comando ATBA4.
Justo después de que aparezca la confirmación de que el router ha cambiado la
velocidad del puerto, le damos en el tera term a Setup....Serial port...y
ajustamos el baud rate lo necesario.

Una vez hecha la copia de seguridad de nuestra bootbase actual, iniciamos
la secuencia para subir la bootbase 1.11 y el firmware.
Algunos han tenido problemas posteriormente, puesto que dejó de funcionar el
PPPOE del router. El motivo lo explicamos a continuación, y le debemos la
resolución a haypocos.
La bootbase contiene la dirección MAC de nuestro router y esta dirección es
única para cada dispositivo. Al actualizar todos con la misma bootbase le
estábamos metiendo a todos los router la dirección MAC del router origen de la
bootbase 1.11. Todos teníamos la misma dirección MAC: 00 A0 C5 66 7E 70.
Conclusión, se volvían tarumbas cuando les venía en gana.
La solución pasa por tener un backup de nuestra bootbase 1.05 original. Una
vez tenemos la bootbase 1.05 la abrimos con un editor hexadecimal (ultraedit,
por ejemplo). Buscamos la cadena 00 A0 C5 (estos 3 primeros pertenecen a Zyxel,
los tres restantes identifican nuestro router en particular), anotamos este
número para su uso posterior.
Decir que antes de actualizar la bootbase se puede mirar la MAC en el menú
24.2.1 por telnet.
Proseguimos con el método:
atbt1 <---desprotegemos el bloque cero
ATUX 0
<----procedemos a flashear la nueva bootbase 1.11 y las extensiones
Starting XMODEM upload... <----Otra vez Xmodem (CRC), enviar
full76600.boot
Ahora si todo ha salido bien debería estar cargada la
bootbase&extensions
Entonces habrá que apagar el router y encenderlo
de nuevo. Debe aparecer en el boot post:
Bootbase Version: V1.11 | 3/4/2003 10:26:13
RAM: Size = 8192 Kbytes
DRAM POST: Testing: 8192K
OK
FLASH: AMD 16M *1
2 observaciones:
1.- Al reiniciar el router y al terminar de actualizar el firmware, este
cambiará a velocidad 9600, con lo que tendremos que cambiarlo en el tera term
otra vez si queremos ver la consola correctamente.
2.- Por otro lado decir que si una subida se corta no pasa absolutamente
nada, no se corre el riesgo de estropear el router en absoluto...ya que la
subida se hace a ram y cuando esta completada correctamente entonces se borran
automáticamente los bloques de la flash y se rescriben con lo que hayamos
mandado. (ahí sí que hay que tener cuidado en que no se vaya la luz)
Ahora hay que subirle el firmware.
Entrar en el modo debug, realizar de
nuevo el cambio de velocidad a 57.600 y escribir:
ATUR
Starting XMODEM upload (CRC mode).... <------Enviar Firmware nuevo
IS2 (340IS2C0.bin)
Es aconsejable subirle también la configuración,
entrar de nuevo en el debug mode:
Atur3
Starting XMODEM upload
(CRC mode).... <------ Enviar 340IS2C0.rom
CAMBIO DE LA MAC.
Este es el momento de utilizar la MAC anotada antes. Procedimiento para
cambiarla:
Entrad en el debug mode.
atse
xxxxxxx
aten 1,password (hay que
volver a calcular la password otra vez)
ok
ATCL (clear working
buffer)
ok
ATCB (copy from FLASH ROM to working buffer)
ok
ATWM00a0c5XXXXXX (donde XXXXX el resto de la antigua MAC o al azar (set MAC
address in working buffer))
ok
ATBT1 ( block0 write enable )
ok
ATSB (save working buffer to FLASH ROM)
........
ok
---------------------------------------------------------
Y listo, ahora
apagamos y encendemos y ya tenemos nuestra nueva MAC
Proceso finalizado.
Posiblemente el router tenga ahora la dirección ip 192.168.1.1 y su password
sea 1234. Es decir, los valores habituales de fábrica. Por tanto, debemos
comprobar que el resto de la configuración sea correcta. En la sección del zyxel
650 de http://www.adslayuda.com/ están
todos los documentos necesarios para configurarlo desde 0.
Evidentemente NO NOS PODEMOS HACER RESPONSABLES si se estropea el
aparato (por ejemplo si durante el proceso se va la luz). Aunque se ha realizado
con éxito en el 82 % de los casos (hemos tenido las bajas de los routers de
lovecraft y enriqueg69) durante el proceso de pruebas y en un 100 % a partir de
la elaboración de las instrucciones, hay aspectos que no conocemos, por lo que
existen posibilidades de que el procedimiento no funcione.
---------------------------------------------------------------------------
---------------------------------------
Dirección y producción: By
Parmenide.........................Parmenide@jazzfree.com
Idea original y guión: joe_user
Música: fampuero
Efectos especiales:
xavydu
Buenos que sobreviven: zubel, haypocos, Jacintosh
Buenos que
siempre cascan: lovecraft, enriqueg69
Malos: Zyxel
Maquillaje y vestuario:
Ar03
Soporte: http://www.adslayuda.com/