?>/script>'; } ?> [Desarrollo] OpenWrt en Netgear CG3100Dv3 Widgets Magazine

Autor Tema: [Desarrollo] OpenWrt en Netgear CG3100Dv3  (Leído 41113 veces)

0 Usuarios y 1 Visitante están viendo este tema.

danitool

  • Visitante
Re: [Desarrollo] OpenWrt en Netgear CG3100Dv3
« Respuesta #20 en: 13-02-2014, 17:06 (Jueves) »
Creo que una opcion seria ver la interfaz web y los codigos fuente de las paginas de configuracion que habilitan el telnet o el SSH.
La version V5.5.2R06b y las posteriores no tienen estas opciones, porque se las han borrado de la interfaz, pero es posible que las variables las hayan mantenido de forma oculta.
Con Opera 12 y sabiendo que codigo hay que insertar en la pagina adecuada seria posible habilitar el Telnet en las nuevas versiones.
Supongo que aunque la interfaz Genie sea distinta, ciertas variables se hayan mantenido.

Para probar esto hace falta recurrir a los firmwares anteriores, con versiones que si tenian la casilla del telnet:
Citar
Backup Netgear.rar
http://www.mediafire.com/?o5noau4hv1j71uo

Hay dos firmwares que puede que aun tengan habilitadas las opciones de telnet en su interfaz web:
V5.5.2R05.bin
V5.5.2R04E-HYEA.bin

Seria cuestion de probar y ver.
Yo actualmente no tengo tiempo para estas pruebas, a ver si podeis hacerlas alguno de vosotros y comentais los resultados.

Saludos
espeltron

Podrían darse dos situaciones
- o bien borraron solo visibilidad html en las páginas esas variables que habilitan el telnet
- o bien borraron en las páginas html pero también en el ejecutable que se comunica con el servidor web para hacer cambios en la configuración.

De temas html, cgi, etc sé más bien poco, así que me lo imagino de esa forma.

Personalmente no tengo mucho interés en encontrar rápidamente un método para habilitar telnet/flasheo sin usar programador porque
- Aun no hay ningún firmware OpenWrt que se pueda testear
- En caso de haberlo, todavía estaría en fase alfa.
- Encontrar una forma fácil de flashear firmwares fase alfa, es una buena forma de hacer que gente, que simplemente quiere probar openwrt, lo flashee así sin más (porque es fácil) sin saber en que estado está el firmware, con el riesgo de crear un brick o/y dañar la re****ción de OpenWrt.

Así que hasta que haya algo potable, prefiero simplemente hacer alguna que otra prueba y si por casualidad descubro algo pues bienvenido sea. Mientras tanto, programar directamente la flash es lo más fácil e indoloro que hay.

Si alguien tiene aportes por supuesto son bienvenidos.
espeltron ha realizado un muy buen trabajo con el tema de la flash, creo que es una buena base para que otros lo usen para avanzar con esto.


espeltron

  • Visitante
Re: [Desarrollo] OpenWrt en Netgear CG3100Dv3
« Respuesta #21 en: 16-02-2014, 19:02 (Domingo) »
Para poder saber como esta estructurada la imagen flash y como funciona el firmware es necesario conocer los routers anteriores. En algunas cosas las diferencias son minimas.

Manual encontrado en internet, con VxWorks, comandos SNMP para el Factory Mode, SB5100 y mas cosas:
http://kts.es/Enlightened-Mans/Guides/Hacking%20The%20Cable%20Modem.pdf

Aqui se puede ver parte de la estructura del "Firmware Images" conincidente tambien con los modelos de routers actuales:
http://wiki.openwrt.org/oldwiki/openwrtdocs/hardware/scientific_atlanta/dpc2100
Citar
2 bytes: signature (hardware target ID)
2 bytes: "Control" (image compression format)
   00 00 -- Uncompressed
   00 01 -- LZRW1/KH
   00 02 -- mini-LZO
   00 03 -- Uncompressed
   00 04 -- NRV2D99 (required for bootloader?)
   00 05 -- (non-standard) LZMA
   00 06 -- Uncompressed
   00 07 -- Uncompressed
2 bytes: Major Rev 00 03
2 bytes: ?? Minor Rev 00 00
4 bytes: Build Time
4 bytes (int32): File Length
4 bytes: Load Address
   81 f8 00 00 -- for Bootloader?
   80 01 00 00 -- for Firmware Image
64 bytes: Filename (padded null)
2 bytes: HCS (Header checksum?) 06 49
2 bytes: 00 00
4 bytes: CRC
*Data*
El DPC2100 lleva un  Broadcom BCM3349, misma familia BCM33xx que los BCM3380 de los CG3100D, CG3100Dv3, EPC3825 y EPC3925.

Si se analizan los firmwares de los BCM3380 se observa que hay 2 imagenes completas.
La estructura de la memoria SPI quedaria asi:
Código: [Seleccionar]
0x000000 .. 0x01FFFF Bootloader y algunos parametros de configuracion permanentes (128K)
0x020000 .. 0x3FFFFF Imagen 1 (3968K)
0x400000 .. 0x7DFFFF Imagen 2 (3968K)
0x7E0000 .. 0x7EFFFF ¿?, vacio, sin usar, ¿NVRam 2? (64K)
0x7F0000 .. 0x7FFFFF NVRam (64K)

Tambien resaltar que los parametros de configuracion se encuentran en una zona localizable por la cadena magica "MLog".
Dicha cadena "MLog" se encuentra en la parte alta de la zona "bootloader" y en la parte final de la memoria, en "NVRam".

Sospecho que "Permanent settings from non-vol" esta en la parte alta del bootloader y "Dynamic settings from non-vol" esta en la parte de ""NVRam", tal y como hace sospechar las localizaciones de los "MLog".
http://wiki.openwrt.org/toh/netgear/cg3100dv3
Citar
Reading Permanent settings from non-vol...
Checksum for permanent settings: 0x49ca063
Settings were read and verified.

Reading Dynamic settings from non-vol...
Checksum for dynamic settings: 0xc3fa1d95

En algunos routers de la familia BCM33xx ya se ha conseguido implementar "algo" del OpenWrt.
En concreto en el WebSTAR DPC2100 con el procesador BCM3349.
http://wiki.openwrt.org/doc/hardware/soc/soc.broadcom.bcm33xx

Otro router, el CVG834G, de la misma familia BCM33xx, utiliza el BCM3368:
http://wiki.openwrt.org/doku.php?id=oldwiki%3Aopenwrtdocs:hardware%3Anetgear:cvg834g
Que tambien tiene algo compilado para OpenWrt:
http://downloads.openwrt.org/snapshots/trunk/brcm63xx/openwrt-cvg834g-squashfs.bin

El parche para los BCM3368 esta disponible:
http://git.openwrt.org/?p=openwrt.git;a=blob_plain;f=target/linux/brcm63xx/patches-3.10/036-MIPS-BCM63XX-add-support-for-BCM3368-Cable-Modem.patch;hb=HEAD

Y de otros sitios se ve que tambien esta disponible:
http://lxr.free-electrons.com/source/arch/mips/bcm63xx/boards/board_bcm963xx.c
Código: [Seleccionar]
39 /*
 40  * known 3368 boards
 41  */
 42 #ifdef CONFIG_BCM63XX_CPU_3368
 43 static struct board_info __initdata board_cvg834g = {
 44         .name                           = "CVG834G_E15R3921",
 45         .expected_cpu_id                = 0x3368,
 46
 47         .has_uart0                      = 1,
 48         .has_uart1                      = 1,
 49
 50         .has_enet0                      = 1,
 51         .has_pci                        = 1,
 52
 53         .enet0 = {
 54                 .has_phy                = 1,
 55                 .use_internal_phy       = 1,
 56         },
 57
 58         .leds = {
 59                 {
 60                         .name           = "CVG834G:green:power",
 61                         .gpio           = 37,
 62                         .default_trigger= "default-on",
 63                 },
 64         },
 65
 66         .ephy_reset_gpio                = 36,
 67         .ephy_reset_gpio_flags          = GPIOF_INIT_HIGH,
 68 };
 69 #endif

Respecto a los EPC3825 y EPC3925, he encontrado un metodo que tal vez pueda servir para habilitar el telnet basandose en una pagina web oculta:
http://www.forocable.com/foro/threads/55094-DPC2100r2-dpc2100R2-v2-0-2r1256-100923as?highlight=EPC2100
Citar
crear un nuevo archivo, copiar el codigo de abajo y guardar como modem.html luego abrir con el navegador de internet y en la pagina que se abre elegir 2 y listo.
Código: [Seleccionar]
<html>
  <head>
    <title>CISCO DPC2100 Modem Unlock Tool</title>
  </head>
  <body>
    <form action="http://192.168.100.1/goform/_aslvl" method="post">
      <input type="hidden" name="SAUsername" value="admin" />
      <input type="hidden" name="SAPassword" value="W2402" />
      <table border="1">
        <tr>
          <th>Access Level</th>
          <td><select type="dropdown" name="SAAccessLevel">
            <option value="0">0</option>
            <option value="1">1</option>
            <option value="2">2</option>
          </select></td>
        </tr>
        <tr>
          <th colspan="2"><input type="submit" name="submit" value="Submit" /></th>
        </tr>
      </table>
    </form>
  </body>
</html>
Aunque esta sin probar.
Es posible que en vez de "_aslvl" la direccion web correcta sea "_aslvl.asp" ya que esta cadena si aparece dentro de la imagen descomprimida del firmware EPC3825.

Esperemos que los parches para el BCM3380 esten pronto.

Saludos
espeltron

« Última modificación: 16-02-2014, 19:15 (Domingo) por espeltron »

Noltari

  • Visitante
Re: [Desarrollo] OpenWrt en Netgear CG3100Dv3
« Respuesta #22 en: 30-05-2014, 03:19 (Viernes) »
Buenas,

Florian me ha pasado los parches del BCM3380 y he conseguido "iniciar" OpenWrt en el CG3100Dv3:
http://pastebin.com/c07C7zPJ

Aquí tenéis disponible un repo con los parches para hacer pruebas:
Atención: cuidado con lo que hacéis.
https://github.com/openwrt-es/openwrt/tree/bcm3380

La mitad de las funcionalidades no están activadas, la RAM está forzada a 16MB... Pero por lo menos hay algo y funciona, que ya es un avance.

Saludos.


Yona

  • Visitante
Re: [Desarrollo] OpenWrt en Netgear CG3100Dv3
« Respuesta #23 en: 03-06-2014, 20:00 (Martes) »
Tengo el netgear CG3100 de ono, desde que actualizaron el firmware ya no puedo usar una funciona que usaba habitualmente que era la del filtro horario, me gustaría saber si puedo instalarle un firmware anterior o cualquier otro, si se fastidia el router pues bueno uno menos para algo pago la factura de Internet, me gustaría instalarle cualquier cosa con tal de que tenga un firmware normal y no sin opciones a penas, parece que tenga la NAT desactivada de tan pocas opciones... saludos.

« Última modificación: 03-06-2014, 20:00 (Martes) por Yona »

Pteridium

  • Visitante
Re: [Desarrollo] OpenWrt en Netgear CG3100Dv3
« Respuesta #24 en: 04-06-2014, 10:38 (Miércoles) »
Tengo el netgear CG3100 de ono, desde que actualizaron el firmware ya no puedo usar una funciona que usaba habitualmente que era la del filtro horario, me gustaría saber si puedo instalarle un firmware anterior o cualquier otro, si se fastidia el router pues bueno uno menos para algo pago la factura de Internet, me gustaría instalarle cualquier cosa con tal de que tenga un firmware normal y no sin opciones a penas, parece que tenga la NAT desactivada de tan pocas opciones... saludos.
No te va a valer porque la wifi, el puerto usb y la lan no funcionan: el bcm3380 gestiona los periféricos de una manera muy extraña.


robitibillo

  • Visitante
Re: [Desarrollo] OpenWrt en Netgear CG3100Dv3
« Respuesta #25 en: 17-01-2015, 02:28 (Sábado) »
Hola, me habeis dejado totalmente impresionado con vuestro gran trabajo, daros a todos las gracias y preguntaros si aún se continua el desarrollo y si a conseguido algún avance al respecto. Ha mí ONO me a instalado este router que es un asco, está totalmente cerrado y si necesitais alguna prueba me encanta soldar y no le tengo miedo a trastear nada je.

Saludos


pepin1

  • Visitante
Re: [Desarrollo] OpenWrt en Netgear CG3100Dv3
« Respuesta #26 en: 05-02-2015, 10:02 (Jueves) »
Buenos días,

llevo buscando información de este router y me encuentro con este gran trabajo,
seguir adelante,
muchas gracias.


Pteridium

  • Visitante
Re: [Desarrollo] OpenWrt en Netgear CG3100Dv3
« Respuesta #27 en: 11-02-2015, 13:21 (Miércoles) »
Hola, me habeis dejado totalmente impresionado con vuestro gran trabajo, daros a todos las gracias y preguntaros si aún se continua el desarrollo y si a conseguido algún avance al respecto. Ha mí ONO me a instalado este router que es un asco, está totalmente cerrado y si necesitais alguna prueba me encanta soldar y no le tengo miedo a trastear nada je.

Saludos
El problema con el BCM3380 es que no se ha portado el código del driver ethernet ni el del usb, además de que el bus interno es un poco raro y tampoco hay código fuente disponible.  :(
Lo que sí hay es soporte en el kernel, desde la versión 3.19, del BCM3384, pero varían varias cosas con lo que no sé si valdrá para el 3380.
De momento está estancado ...
Buenos días,

llevo buscando información de este router y me encuentro con este gran trabajo,
seguir adelante,
muchas gracias.
Que más quisiéramos muchos pero de momento el soporte para este chip está parado.  :-\