Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?
20-09-2017, 21:59 (Mi?rcoles)
Inicio Ayuda Reglas Buscar Ingresar Registrarse
Noticias:
Liberada wifislax64-1.1 version final para descargar

Videos Downloader




+  Seguridad Wireless - Wifi
|-+  Equipos y materiales
| |-+  Puntos de acceso, routers, switchs y bridges
| | |-+  Openwrt & LEDE (Moderadores: jar229, Noltari, Pteridium, Tki2000)
| | | |-+  [EXPERIMENTO] Zyxel P660HW-D1 con Openwrt
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: [EXPERIMENTO] Zyxel P660HW-D1 con Openwrt  (Leído 1852 veces)
danitool
*******
Desconectado Desconectado

Mensajes: 581


Ver Perfil
« : 12-12-2016, 01:52 (Lunes) »

El Zyxel P660HW-D1 es un antiguo dinosaurio bastante conocido, al menos en su día. Únicamente tiene 2 megas de flash, y 16 de RAM.

Suena un poco a chiste meterle openwrt a este dispositivo, por eso lo he titulado como experimento. En este y otros sitios de internet hubo en su día divagaciones de como conseguir este propósito. Debido al tamaño de flash, creo que nadie siguió adelante con lo de instalar Openwrt.

Tuve que hacer un firmware muy reducido. Así que quité los drivers del wireless, que de todas formas no funcionan, ya que son propietarios y esta tarjeta concreta TNETW1350 no parece estar soportada (peor situación que los wifis de broadcom). También quité los drivers del ADSL, que casi cabían (y creo que podrían caber), pero por comodidad me los quité de en medio. Dropbear también me lo cargué y algunas otras cosas.



Bien, la clave para cambiar a Openwrt está en que los firms AR7 de estos router están compilados en little endian, mientras que el Zyxel usa por defecto Big endian. Aquí es donde está la magia, hay que cambiar una resistencia de la placa de posición para que opere en modo little endian. Sí, hay que usar soldador para el proceso.

Cabe destacar que también hay que cambiar el bootloader por uno hecho a medida para este router (PSPboot), se hace todo de una tacada, lo he incluido en un archivo llamado allin1.bin


Material requerido:




Proceso para instalar Openwrt:

Acceder por puerto serie al P660hw-d1, por defecto el baud rate es 9600, entrar en bootbase

Cambiar a modo debug:
Código:
ATSE
obtenemos la semilla, la metemos en el zynpass, nos da el password
que metemos en el siguiente comando (cambiar 110F397A por nuestro pass) :
Código:
ATEN1,110F397A


Cambiar la velocidad del puerto serie:
Código:
ATBA 5
(salimos de la consola serie y volvemos a entrar cambiando el baud rate a 115200)


Aunque no es necesario, es buena idea hacer backup de la flash entera, en caso de que más adelante cuando tengamos openwrt y quisiésemos volver a dejar exactamente como estaba nuestro router.
Código:
ATDO b0000000,200000
en nuestra consola serie le ordenamos que reciba el archivo, (usando screen se usaría el comando: exec !! rx -cb mybackup.bin)

habilitamos escritura:
Código:
ATBT1

Subir el firmware a la memoria del router:
Código:
ATUP94040000,1c0000
(se queda a la espera de que le enviemos el archivo, hacerlo inmediatamente)



en nuestra consola serie le ordenamos que envíe el archivo allin1.bin
(usando screen se haría con el comando: exec !! sx -kb allin1.bin)


una vez subido, borramos la flash entera y la reprogramamos:
Código:
ATER0,33
(ahora ya no hay vuelta atrás)
Código:
ATWF94040000,b0000000,1c0000



Advertencia: en caso de que falle esto último, la única forma de recuperar el router sería mediante JTAG


Apagamos el router y cambiamos de posición la resistencia que se indica en la foto



 y encendemosel router normalmente, iniciando Openwrt.



Bueno y ahora ¿que hago con el router?, no tiene wifi, no tiene adsl.... bueno eso allá cada uno. El switch creo que funciona y se pueden hacer VLANs.

He localizado un montón de GPIOs en la placa, podríamos usar así como unos 20 GPIOs!!!. Es pobre el hardware pero para manejar GPIOs no necesitamos tanta potencia.



Espero más adelante dejar el buildroot, por si alguno quiere compilar su propio firmware a partir de lo que yo tengo. Ya que con el poco espacio que tiene la flash si nos interesa tener alguna función hay que quitar cosas, por ejemplo iptables todo lo relacionado con firewall, para dejar espacio a otra cosas que sí nos interese.

Aquí un log de todo el proceso
http://pastebin.com/HkcsccUw


Quien dijo que no se podía?  Evil




Volver al firmware original

Supuestamente cuando instalamos Openwrt, habíamos hecho un backup entero de la flash, mybackup.bin

Volver al firmware original y con el router exactamente como estaba de fábrica es muy fácil. Primero hay que tener en cuenta que Openwrt ahora mismo está funcionando en modo little endian, pero cuando cambiemos a Big Endian de nuevo, el procesador leerá los bytes de la flash cambiados de orden. Así que lo primero será poner del revés los bytes de nuestro backup:
Código:
dd if=mybackup.bin conv=swab of=mybackup-SWAB.bin

Ahora solo tenemos que transferir el archivo al router.
Código:
root@OpenWrt# cd /tmp/
root@OpenWrt:/tmp# wget ftp://192.168.1.35/mybackup-SWAB.bin
Connecting to 192.168.1.35 (192.168.1.35:21)
mybackup-SWAB.bin[ 100% |*******************************************************************************************|  2048k 00:00:00 ETA


Y flashearlo en la partición all
Código:
root@OpenWrt:/tmp# mtd write mybackup-SWAB.bin all
Unlocking all ...
Writing from mybackup-SWAB.bin to all ...    
root@OpenWrt:/tmp#
Apagamos el router volvemos a conectar la resistencia donde estaba originalmente y ya estamos de vuelta con el firm original.
« Última modificación: 12-12-2016, 23:41 (Lunes) por danitool » En línea
Tki2000
Moderador
*
Desconectado Desconectado

Mensajes: 1717


Ver Perfil
« Respuesta #1 : 12-12-2016, 09:18 (Lunes) »

Como siempre, danitool, me descubro ante tu sapiencia.  Angry Angry Angry

Chincheta unas semanas, y a los hilos relevantes....
En línea

No habrás entendido algo, hasta que seas capaz de explicárselo a tu abuela...
Hacemos pantallas con píxeles casi invisibles, para luego ampliar la letra porque no la vemos... Bonita paradoja...
Creamos analfabetos tecnológicos con una velocidad pasmosa. Todo el mundo "maneja" tecnología, casi nadie sabe lo que tiene entre las manos, pero todo el mundo opina.
El analfabetismo, antes, pasaba desapercibido. Ahora, se transmite por Internet y las redes sociales.
Ficht
******
Desconectado Desconectado

Mensajes: 452



Ver Perfil
« Respuesta #2 : 12-12-2016, 09:23 (Lunes) »

Vaya!! que bueno.

pregunto, ¿crees que se le pudiera agregar un  USB?
En línea
Elbuhin
*****
Desconectado Desconectado

Mensajes: 236


Supercalifragilistico. Attenti al lupo.


Ver Perfil
« Respuesta #3 : 12-12-2016, 16:19 (Lunes) »

Hola.

Recuerdo haber estado hace un tiempo atrás viendo esto de instalar openwrt en este bicho, ya que lo tenía tirado por ahí, para ver si podía hacerlo funcionar como repetidor, pero luego desistí y compré otro router para ese fin.

Aunque hiciera este bricolaje, tampoco lo podría usar para eso porque se quedaría sin WiFi jajaja.

De todas formas muy bueno.

Saludos!

En línea

Si no te dije algo es porque nunca me lo preguntaste.

Elbuhin (Supercalifragilistico)
danitool
*******
Desconectado Desconectado

Mensajes: 581


Ver Perfil
« Respuesta #4 : 12-12-2016, 16:24 (Lunes) »

Citar
¿crees que se le pudiera agregar un  USB?

No se puede agregar puerto USB. Los SoCs Texas Instruments TNETD73xx tienen un puerto USB1.1 pero es esclavo que de todas formas no está soportado en OpenWrt.


Podríamos pensar que extrayendo la minipci de la placa y enchufando ahí otra cosa tendríamos capacidades de expansión para otros dispositivos, pero no. Lo que tenemos en esta placa es una miniPCI de mentira, ya que no usa bus PCI, sino el bus propietario de Texas instruments VLYNQ, por lo que ahí solo podremos enchufar un wifi Texas instruments. Una pena, adiós a la posibilidad de meterle una miniPCI atheros.

Ni siquiera la miniPCI si la extraemos nos valdrá para nada, no podríamos por ejemplo usarla en un portátil. Poco más vale que para darle un puntapié.

Lo que si me gustaría también es compilar una versión reducida de RouterTech (es como el DDWRT de los AR7), sin ADSL pero con wifi para que quepa en los 2 MB de flash, algo posible gracias al nuevo bootloader (PSPboot). En teoría Routertech admite modo repetidor WDS con encriptación WPA!


Lo que me animó a meterle las zarpas a la placa y meterle Openwrt fue disponer de sus esquemas eléctricos
https://fccid.io/document.php?id=717823

Es la única de la que dispongo de este documento tan valioso. De ahí saqué los GPIOs, poco más que un juego, solo tuve usar unas fotos de la placa e ir buscando según esquema, nada de meterme a medir valores de puntos en la placa  Cheesy

En cuanto a más posibilidaddes de ampliación, el nuevo bootloader creo que reconocería sin problemas un nuevo chip RAM de hasta 64 megas, y una flash de hasta 8 megas.
Es una placa estupenda para experimentar, aprender cosillas y trastear, si nos la cargamos tampoco es como para echarse a llorar  Evil
En línea
edudi
*****
Desconectado Desconectado

Mensajes: 185


Ver Perfil
« Respuesta #5 : 20-12-2016, 01:36 (Martes) »

Magnífico aporte, ...quien se quiera comprar una raspberry, arduino, etc, para experimentar sólo con GPIO's, les podría venir bien mirar primero en los armarios y trasteros.

Lo que si me gustaría también es compilar una versión reducida de RouterTech (es como el DDWRT de los AR7), sin ADSL pero con wifi para que quepa en los 2 MB de flash, algo posible gracias al nuevo bootloader (PSPboot). En teoría Routertech admite modo repetidor WDS con encriptación WPA!

Por esto que dices, podría llegar a tener WiFi este router? Sería la clave para poder tener un control del mismo algo más distante que del largo del cable LAN, pero ya demasiado se ha conseguido y muy bien recibido.  ....tú sabes, cuando se llega al punto F, y se vislumbra un posible punto G, ....no sé que nos empuja, pero es la motivación que ha hecho de OpenWRT lo que es hoy en día gracias a todos, y a gente como tú, que dedica miles de horas y esfuerzo, y encima nos lo sirves masticado no....lo siguiente. Eres un verdadero crack, que lo sepas.


......la parte que no entendí es lo de modo repetidor WDS con encriptación WPA, en este router?? Más que nada porque estoy acostumbrado a ver los routers-repetidores WiFi con chip atheros o ralink (por último), como el entrañable HG556a.

--- EDITO ----------------------------------------------------------------------------------------------

Wireless No1:    SoC-integrated: Ralink RT3390L w/ 2.4GHz antenna for 802.11b/g/n

Este router tiene WiFi Ralink,,,,di por hecho que era Realtek
---------------------------------------------------------------------------------------------------------

Hay más chips (y routers) que puedan hacer la función de repetidor WiFi? ....segurísimo que los hay, pero me quedé sin buscar más sobre esto. No estaría mal, hacer un listado de routers con la función de repetidor WiFi (al margen del WDS que es un extra), más que nada para que la gente no compre repetidores WiFi nuevos, si pueden reutilizar routers, ya sean suyos, del vecino o comprados en un 2ª mano por 2 duros.


Saludos y aportas mucho, aunque ya te lo hayan dicho miles de veces  Angry


PD: En breve actualizo la tabla de Routers con GPIO's operativos para darle usos como con la Raspberry Pi
« Última modificación: 20-12-2016, 01:41 (Martes) por edudi » En línea
jar229
Moderador
*
Desconectado Desconectado

Mensajes: 4561



Ver Perfil
« Respuesta #6 : 20-12-2016, 12:12 (Martes) »

Impresionante  Angry Angry Angry
En línea

En venta:

Portátil Lenovo Thinkpad x230

Intel Core i5 3320M vPro a 2.6 GHz (Max Tur*****ost 3.3 GHz)
8 GB DDR3 (16 max.)
HDD 320 GB 7200 RPM
Pantalla LED HD 12" 1366x768 16:9
Intel HD Graphics 4000
Sonido Audio de Alta Definición
LAN Gigabit
Wifi Intel 802.11a/g/n
Bluetooth
Webcam
1 x USB 2.0
2 x USB 3.0
Lector de Tarjetas y huellas
1 x VGA, Mini DisplayPort (HDMI)
Luz de ilunimación del teclado
Batería 6 celdas en muy buen estado (más del 90% de la capacidad original)
Cargador Lenovo 65W
Buen estado estético. Algún roce y marcas típicas del uso (poca cosa)

Licencia original de Microsoft Windows 7 Pro

245€ env.inc.
danitool
*******
Desconectado Desconectado

Mensajes: 581


Ver Perfil
« Respuesta #7 : 23-01-2017, 21:51 (Lunes) »

Como extra, voy a explicar un poco el proceso que usé para lograr el objetivo. Obviamente lo que detallo para la instalación de Openwrt no lo hice a la primera.

Lo primero fue identificar el puerto JTAG y soldar ahí un conector. Como sabía que era de lo que más iba a tirar decidí hacerlo bien y accesible desde el exterior de la carcasa. El pin header simplemente va pegado con pegamento epoxy a la placa.



En realidad para un cable JTAG más sencillo no necesitaría tantos pines, pero mi adaptador era un WIGGLER con buffer el cual permite mayores longitudes de cable.

Tener un JTAG es un salvavidas, ya que hagas lo que hagas siempre puedes recuperar el router. Aquí lo vemos accesible con la carcasa montada


Algo parecido hice con el puerto serie. Ahorra estrés a la hora de conectar y desconectar todo el chiringuito.

Para el cambio de endianness, en lugar de desoldar la resistencia y soldarla en el otro lugar usé un header de 3 pines y un puente, para cambiar el endianness a gusto



Decir que prácticamente todo el proceso de prueba de bootloader y Openwrt lo hice mediante JTAG. Esto tarda mucho por no tener implementado DMA. Lo peor fue dar con el bootloader (PSPBoot), fueron bastantes flasheos del mismo. La primera vez que metí OpenWrt lo hice via JTAG y tardó así como unas 6 horas. Después desde el propio Openwrt los siguientes firmwares tardaban 1 minuto, y una vez dí con el bootloader bueno, también desde el propio bootloader pude flashear de forma rápida.

El proceso de flasheo a través de Bootbase partiendo del firm original es algo que hice a última hora. Después de un par de pruebas/error hallé con el método bueno.

Aquí vemos todo el chiringuito montado, puerto serie y JTAG conectados



Ya he incorporado el buildroot de Openwrt tanto la versión Backfire como Attitude Adjustment al zip que suministro en el proceso de instalación. En AA además incorporé en el firmware el módulo PWM emulado por GPIO

https://wiki.openwrt.org/doc/hardware/port.gpio/pwm

Por dotarlo de alguna funcionalidad interesante, ya que el router no da para mucho más que manejar GPIOs.
En línea
Ficht
******
Desconectado Desconectado

Mensajes: 452



Ver Perfil
« Respuesta #8 : 23-01-2017, 22:24 (Lunes) »



WoW  ¡Que buen trabajo!
En línea
cheche
**
Desconectado Desconectado

Mensajes: 11


Ver Perfil
« Respuesta #9 : 08-09-2017, 02:05 (Viernes) »

Impresionante! Angry Angry Angry Angry
Pensé que era una broma. Muy bien!
En línea
Páginas: [1] Ir Arriba Imprimir 
« anterior próximo »
Ir a:  


Ingresar con nombre de usuario, contraseña y duración de la sesión

Las cookies de este sitio web se usan para personalizar el contenido y los anuncios, ofrecer funciones de redes sociales y analizar el tráfico. Además, compartimos información sobre el uso que haga del sitio web con nuestros partners de redes sociales, publicidad y análisis web, quienes pueden combinarla con otra información que les haya proporcionado o que hayan recopilado a partir del uso que haya hecho de sus servicios
Si continúa navegando consideramos que acepta su uso. OK Más información | Y más
Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines
SMFAds for Free Forums