Equipos y materiales > Openwrt & LEDE
[Desarrollo] OpenWrt en ASTORIA ARV7519RW22
(1/242) > >>
gmtii:
Buenas,

Abro este hilo para intentar ordenar lo que se ha ido publicando en el otro hilo sobre este router creo este, donde intentaremos ser más formales y poner lo necesario, para que el que quiera, pueda llegar al punto en que ahora estamos.

Novedades

Gracias de nuevo a  espeltron tenemos pass del boot original: Oh!123Go

Versión unificada de u-boot para versiones R01 y R02.

Soporte en trunk de Openwrt.

Soporte VDSL gracias a espeltron:

copiamos el fichero vdsl.bin en /lib/firmware , conectamos la línea y hacemos:


--- Código: ---/etc/init.d/dsl_control stop
/etc/init.d/dsl_control start
/etc/init.d/dsl_control status
--- Fin del código ---

Estado actual

Soporte de OpenWrt total, salvo el Wifi y puertos de teléfono.

Es importante entender que el boot esta dividido en dos: uno tuneado que se empeña en arrancar el firmware original siempre y esta protegido por contraseña. Lesgar consiguió saltar esta protección y acceder a la consola de comandos con el procedimiento descrito más abajo.

Una vez ahí accederemos al segundo uboot, desde donde vamos a arrancar imágenes en RAM y desde probar o flashear OpenWrt definitivamente.

También podemos directamente habilitar el modo UART, subir un uboot que corre en RAM y desde ahí flashear un uboot definitivo. En este punto podremos utilizar toda la flash del router, respetando la última partición de configuración.

Finalmente parece que el método más cómodo consiste en hacer corto en la flash, y desde el mismo boot original flashear en su lugar el u-boot nuevo, enviado mediante Xmodem.

Hardware

Todo está contenido en la wiki de OpenWrt:

http://wiki.openwrt.org/toh/arcadyan/arv7519

Atención: no conectar el punto VCC al adaptador TTL-USB dado que no es necesario y se ha comprobado que el router deja de funcionar.

Si alguien quiere poner todo en castellano, bienvenido sea.


Lo importante

Existen dos versiones R01 y R02 que podemos verificar en el arranque o bien mirando la etiqueta bajo el router. Debemos escoger el firmware adecuado. Si no usamos el u-boot o fw adecudado, los puertos ethernet no funcionan.

Es imprescindible soldar el puerto serial. Podemos hacerlo con cables y un soldador de 25W o bien poner pines.

En la wiki tenemos los pines y su correspondencia.


Nuevo manual hecho por Lesgar:

1-Backup
  Copiamos el passsword del boot original: Oh!123Go
  Arrancamos el router pulsamos tres veces la barra espaciadora
  Pegamos la pasword
  Accedemos al modo administrador pulsando "!"
  
--- Código: --- [VR9 Boot]:!
    Enter Administrator Mode !
--- Fin del código ---
 En el [VR9 Boot] pones lo siguiente:
  "H"
  Y modificas el boot options de FE-FF-FF-FF-FF-FF o FF-FF-FF-FF-FF-FF a:
  "FF-00-00-00-00-00"

  Pones "linux image" con:
  "2"

  Reinicias con:
  "Y"
 Solamente hay que pulsar la tecla J.
De esta forma tendremos un backup 100% original que arrancará por si solo con el firmware de Orange.
  
--- Código: ---VR9 Boot]:j

Ready to run firmware


U-Boot 2010.06-LANTIQ-v-2.0.26-dirty (Jul 25 2011 - 09:16:19)

CLOCK CPU 500M RAM 250M
DRAM:  128 MiB
Flash: 32 MiB
In:    serial
Out:   serial
Err:   serial
Net:   fw_addr=0xa0200000
Internal phy(FE) firmware version: 0x8200
vr9 Switch

Type "run flash_nfs" to mount root filesystem over NFS

Hit any key to stop autoboot:  1
....
...
...
--- Fin del código ---
 Dentro de root@arcadyan haz esto:
  
  Coloca una memoria USB formateada como FAT16 o FAT32. Yo he usado el puerto USB trasero, pero valdria igualmente el otro.
  Realiza el backup de todo en menos de 1 minuto:
  
--- Código: --- cat /dev/mtd0 > /tmp/usb/a1/mtd0.bin
    sync
    cat /dev/mtd1 > /tmp/usb/a1/mtd1.bin
    sync
    cat /dev/mtd2 > /tmp/usb/a1/mtd2.bin
    sync
    cat /dev/mtd3 > /tmp/usb/a1/mtd3.bin
    sync
    cat /dev/mtd4 > /tmp/usb/a1/mtd4.bin
    sync
    cat /dev/mtd5 > /tmp/usb/a1/mtd5.bin
    sync
    cat /dev/mtd6 > /tmp/usb/a1/mtd6.bin
    sync
    cat /dev/mtd7 > /tmp/usb/a1/mtd7.bin
    sync
    cat /dev/mtd8 > /tmp/usb/a1/mtd8.bin
    sync
    cat /dev/mtd9 > /tmp/usb/a1/mtd9.bin
    sync
    cat /dev/mtd0 > /tmp/usb/a1/mtd0a.bin
    sync
    cat /dev/mtd1 > /tmp/usb/a1/mtd1a.bin
    sync
    cat /dev/mtd2 > /tmp/usb/a1/mtd2a.bin
    sync
    cat /dev/mtd3 > /tmp/usb/a1/mtd3a.bin
    sync
    cat /dev/mtd4 > /tmp/usb/a1/mtd4a.bin
    sync
    cat /dev/mtd5 > /tmp/usb/a1/mtd5a.bin
    sync
    cat /dev/mtd6 > /tmp/usb/a1/mtd6a.bin
    sync
    cat /dev/mtd7 > /tmp/usb/a1/mtd7a.bin
    sync
    cat /dev/mtd8 > /tmp/usb/a1/mtd8a.bin
    sync
    cat /dev/mtd9 > /tmp/usb/a1/mtd9a.bin
    sync
--- Fin del código ---
 
  Desmontas la unidad USB:

    
--- Código: ---umount /tmp/usb/a1
--- Fin del código ---
 
  Conjectamos el usb al pc y verificamos que se haya copiado bien con un md5sum
  
  
--- Código: --- md5sum mtd*
      85d71f2f2853cd946b3b11f74286e6c7  mtd0.bin
      85d71f2f2853cd946b3b11f74286e6c7  mtd0a.bin
      dbc706a9561a93bb1f199f4af9608be3  mtd1a.bin
      dbc706a9561a93bb1f199f4af9608be3  mtd1.bin
      35e99851d54769f14554603551c4a97c  mtd2a.bin
      35e99851d54769f14554603551c4a97c  mtd2.bin
      16a2b702e0f607f2c667592d5f653885  mtd3a.bin
      16a2b702e0f607f2c667592d5f653885  mtd3.bin
      2261435b7db30104108bf17e14c85b6b  mtd4a.bin
      2261435b7db30104108bf17e14c85b6b  mtd4.bin
      4531703a2c0c1f217906e94e293c9f2b  mtd5a.bin
      4531703a2c0c1f217906e94e293c9f2b  mtd5.bin
      3e159f50c18d679155c44a62fa6142d8  mtd6a.bin
      3e159f50c18d679155c44a62fa6142d8  mtd6.bin
      fe95326845fc89fce42a2303a8372712  mtd7a.bin
      fe95326845fc89fce42a2303a8372712  mtd7.bin
      42be09fa44e3ba8cd9be771817ea89c5  mtd8a.bin
      42be09fa44e3ba8cd9be771817ea89c5  mtd8.bin
      79309eb3491945f91092fc9612aa139a  mtd9a.bin
      79309eb3491945f91092fc9612aa139a  mtd9.bin
--- Fin del código ---
 
  Montar Imagen

  
--- Código: ---cat mtd0.bin mtd1.bin mtd2.bin mtd3.bin mtd4.bin mtd5.bin mtd6.bin mtd7.bin mtd8.bin mtd9.bin > dump.bin
--- Fin del código ---

  El comando para hacer eso en Windows sería
  
  
--- Código: --- copy /b mtd0.bin+mtd1.bin+mtd2.bin+mtd3.bin+mtd4.bin+mtd5.bin+mtd6.bin+mtd7.bin+mtd8.bin+mtd9.bin  dump.bin
--- Fin del código ---

    copy /b hace las concatenaciones en modo binario sin traducir caracteres pero hay un error en el retorno del carro que genera imagenes mas grandes.

2-Instalacion

  Copiamos el passsword del boot original: Oh!123Go
  Arrancamos el router pulsamos tres veces la barra espaciadora
  Pegamos la pasword
  Accedemos al modo administrador pulsando "!"
  
--- Código: --- [VR9 Boot]:!
    Enter Administrator Mode !
--- Fin del código ---
 Pulsamos "U" para cargar el uboot  
    
--- Código: ---[VR9 Boot]:U
     UPLOAD Flash
    ---------------------------------------
      Area            Address      Length
    ---------------------------------------
    [0] Boot            0xB0000000     512K
    [1] Image 0         0xB1280000    6144K
    [2] Image 1         0xB1880000    6144K
    [3] Configuration   0xB1E80000    1024K
    [4] Boot Parameters 0xB1F80000     256K
    [5] Flash Image     0xB0000000   32768K
    [6] Linux Image     0xB0080000   24576K
    [7] Emergency Value 0xB1FC0000   2883584K
    ---------------------------------------
    Enter area to UPLOAD: 0
    Upload area 0.  Are you sure? (Y/n)
--- Fin del código ---
 Pulsamos "Y" y mandamos por X-modem la imagen de uboot

2.-Instalación de OpenWrt desde u-boot modificado

    Muy sencillo; definimos dos nuevas macros y las hacemos permanentes en u-boot con:
    
--- Código: ---setenv write-openwrt 'tftpboot openwrt-lantiq-xrx200-ARV7519RWV1[color=red]X-[/color]squashfs.image && protect off 0xB0080000 +$filesize && erase 0xB0080000 +$filesize && cp.b $fileaddr 0xB0080000 $filesize'
    setenv kernel_addr 0xB0080000
    saveenv
--- Fin del código ---

    (cambiamos la X por la versión de nuestro router).

     Al final del post se añade como configura el tftp

    Ejecutamos la macro: run write-openwrt,
  
    
--- Código: ---arv7519rw #   run write-openwrt            
     ltq_phy: addr 0, link 0, speed 10, duplex 0
     ltq_phy: addr 17, link 0, speed 10, duplex 0
     ltq_phy: addr 19, link 1, speed 100, duplex 1
     Using ltq-eth device
     TFTP from server 192.168.1.100; our IP address is 192.168.1.1
     Filename 'openwrt-lantiq-xrx200-ARV7519RWV11-squashfs.image'.
     Load address: 0x81000000
     Loading: #################################################################
     #################################################################
     #################################################################
     ########################################################
         5 MiB/s
done
      Bytes transferred = 3670020 (380004 hex)
      ............................. done
      Un-Protected 29 sectors

      ............................. done
      Erased 29 sectors
      Copy to Flash... 10....9....8....7....6....5....4....3....2....1....done
      arv7519rw # reset

--- Fin del código ---

Crear un servidor TFTP

Si usas windows, el tftpd32 es un servidor que instalas en windows.
http://tftpd32.jounin.net/
http://tftpd32.jounin.net/tftpd32_download.html
Selecciona el programa de instalacion que mejor te convenga y permite el acceso a traves del firewall cuando te lo indique.

Este servidor es muy facil de configurar, solo tienes que indicarle la tarjeta de red que va a usar mediante la IP que tenga asignada.
Le indicas la carpeta que vas a utilizar para compartir (descargar o subir archivos), que normalmente puede estar dentro de la ruta donde se instala el programa.

Cuando activas el servidor tftpd cualquier equipo conectado a tu red puede subir o descargar archivos que tengas compartidos en esa carpeta, mediante el protocolo tftpd y la IP de esa tarjeta de red.
Para que esto funcione la IP de la tarjeta de red tiene que ser la adecuada, segun cada aplicacion en concreto.
Por ejemplo podria ser requisito que la IP fuera: 192.168.1.100, o la que tuviera el uboot fijada como IP del servidor tftpd.

Aunque se pueda usar el protocolo Xmodem muchos uboot con loady suelen utilizar el Ymodem. Prueba a usar el protocolo Ymodem con el hiperterminal de windows. Pero estos procedimientos son muchiiiiiiiiisimo mas lentos. Creo que solo deberían usarse en caso de emergencia.

Volver al estado de fábrica

Encendemos el router:

--- Código: ---ROM VER: ��!D

U-Boot 2014.01-openwrt2-dirty (Apr 27 2014 - 15:57:36) arv7519rw

Board: Arcadyan ARV7519RW
SoC:   Lantiq VRX288 v1.1
CPU:   500 MHz
IO:    250 MHz
BUS:   250 MHz
BOOT:  NOR
DRAM:  64 MiB
Flash: 32 MiB
In:    serial
Out:   serial
Err:   serial
Net:   ltq-eth
Hit any key to stop autoboot:  
--- Fin del código ---

Pulsamos una tecla y una vez hemos accedido al prompt tecleamos tftpboot dump.bin. Estamos cargando por tftp el backup de la flash (que previamente has sacado de TU flash) en la ram del router

--- Código: ---arv7519rw # tftpboot dump.bin

ltq_phy: addr 0, link 0, speed 10, duplex 0
ltq_phy: addr 17, link 0, speed 10, duplex 0
ltq_phy: addr 18, link 0, speed 10, duplex 0
ltq_phy: addr 19, link 1, speed 100, duplex 1
ltq_phy: addr 20, link 0, speed 10, duplex 0
Using ltq-eth device
TFTP from server 192.168.1.2; our IP address is 192.168.1.1
Filename 'dump.bin'.
Load address: 0x81000000
Loading: * #######################################################
 #################################################################
 [...]
 #################################################################
 #################################################################
 ###########
 2.5 MiB/s
done
Bytes transferred = 33554432 (2000000 hex)

--- Fin del código ---

Ahora solo falta grabar,en la flash del router, lo que hemos subido a la ram. Tecleamos run write-uboot-nor

--- Código: ---arv7519rw # run write-uboot-nor
Un-Protected 256 sectors

................................. done
Erased 256 sectors
Copy to Flash... 10....9....8....7....6....5....4....3....2....1....done
--- Fin del código ---
Cuando haya terminado solo faltaría resetear el router. Tecleamos reset

--- Código: ---arv7519rw # reset

ROM VER: 1®
ROM VER: 1.0.5
CFG 01
Tuning DDR begin
DDR Access auto data-eye tuning Rev 0.3a
DDR size from 0xa0000000 - 0xa7ffffff
DDR check ok... start booting...




=======================================================================
Wireless ADSL IAD VR9 Loader v0.70.01 build Mar 26 2012 13:36:53
                    Arcadyan Technology Corporation
=======================================================================
A1x VR9
0xbe22ff1c : 70240000
0xBf203014 : 70240000
MXIC MX29GL256EL top boot 16-bit mode found

Copying boot params.....DONE

Enter command mode ...
Get Primary to 0.....
Image Check from FLASH_AREA_IMAGE_0 : Passed.

--- Fin del código ---
Recordar que si para hacer el backup habeis cambiado algo en el brnboot, hay que dejarlo como estaba al principio.
Nota: para que arranque por defecto sea el fimware de orange hay que teclear 3 en el prompt del vrboot.

--- Código: ---[VR9 Boot]:3

Set to Supertask image done
--- Fin del código ---

Métodos de emergencia
  Activar UART
  
"Precauciones iniciales del ARV7519RW22 y casos catastroficos"
   erase Flash
  conectar vcc
    NUNCA conecteis el pin VCC con adaptadores serial USB, ya que no lo necesita y es peligroso.
  Modo UART
    Usar resistencias
Creditos:
Pteridium, Gmtii, Espeltron, www-www, jmcabgam y alguno más que seguro se me olvida  ;)


Configurar los parámetros de uboot después de haberlo flasheado
Podéis configurar las IPs del servidor y del router en el uboot como os dé la gana, pero la MAC es conveniente que la cojáis de la etiqueta que lleva el router.

--- Código: ---setenv ipaddr 192.168.1.3
setenv serverip 192.168.1.2
setenv ethaddr 88:03:55:XX:XX:XX
saveenv
--- Fin del código ---

Reflashear el uboot

--- Código: ---tftpboot u-boot.bin
write-uboot-nor
--- Fin del código ---

Iniciar una imagen initramfs desde uboot
Para arrancar la imagen initramfs es necesario que modifiquéis las direcciones IP y la MAC tal y como aparece descrito en este mismo post.

--- Código: ---tftpboot openwrt-lantiq-xway-ARV7519RWV1x-uImage-initramfs
bootm
--- Fin del código ---

Flashear una imagen squashfs desde uboot
Para arrancar la imagen initramfs es necesario que modifiquéis las direcciones IP y la MAC tal y como aparece descrito en este mismo post.

--- Código: ---tftp openwrt-lantiq-xway-ARV7519RWV1x-squashfs.image
erase B0080000 +$filesize
cp.b 81000000 B0080000 $filesize
--- Fin del código ---


Descargas

uboot-lantiq-2013_10-arv7519rw22
Firmwares OpenWrt para R01 y R02


Saludos.!

Edición: pequeña modificación de Pteridium para que la macro de u-boot no descuadre el foro.
doblecero:
Muy buen trabajo!  >:( >:( >:(
Yo creo que está más que clarito :)
GLaDOS:
>:( >:( >:( >:( >:( >:( >:( >:( >:( >:( >:( >:(
Sí, señor. Increíble gmtii, gran y genial trabajo.
 >:( >:( >:( >:( >:( >:( >:( >:( >:( >:( >:( >:(
Aquí me instalo, esperando que los chinininos de DX me manden pronto las cosillas que me faltan para ponerme a trabajar con este 'peaacho' de router.

Una vez más, mil gracias gmtii, me pongo a 'estudiar' ya mismo.

Saludeteees
hawai50:
Asi me gusta!
Muchas gracias gmtii, por decidirte a postearlo
Ahora esta todo mas claro
gmtii:
Muy buenas,

Por fin nos han echado una manita... Antonios Vamporakis ha visto que sufríamos un bug en el driver de ethernet del xrx200 ... actualizo parches, firmwares y uboot en breve.

En definitiva, haciendo una vez el corto, o activando el modo uart podemos flashear el nuevo uboot y olvidarnos de todo!

POR FIN!!!!!!!!!!!  >:( >:( >:( >:( >:( >:( >:( >:( >:( >:( >:( >:( >:( >:( >:( >:(
Navegación
Índice de Mensajes
Página Siguiente

Ir a la versión completa