¿Cómo instalo LibreMesh / LibreRouterOS en otros equipos que no sean LibreRouter?

Buenas!

Tengo un equipo WDR-3600 y un equipo WDR-4310. Ambos tuvieron LibreMesh con los .bin correspondientes a esas versiones.

  1. ¿Pasa actualizarlos a la última versión hay .bin disponibles en algún enlace?

  2. ¿Si tuviera que compilarlos yo mismo para, por ejemplo, agregarle LuCi, qué guía debería seguir?

  3. Tengo necesidad de habilitar un portal cautivo que de una bienvenida y liste los servicios disponibles en la red. No usaría Vouchers limitados ya que la red por ahora no tiene acceso a internet. ¿Pirania puede cumplir esa función?

Saludos y Gracias!

2 Likes

LibreRouterOS se distribuye en formato binario sólo para el LibreRouter por el momento, ya que es al único que le damos soporte oficial, pero generar una imagen del sistema operativo para otros dispositivos es relativamente sencillo.

@SAn nos cuenta en el anuncio de la última versión:

Encuentra los enlaces de descarga, instrucciones de actualización y más aquí: https://gitlab.com/librerouter/openwrt/-/releases/v1.2

El firmware se proporciona en forma binaria solo para el LibreRouter. Si tiene otro hardware, tendrá que crear la imágen localmente utilizando las instrucciones en https://gitlab.com/librerouter/openwrt/-/blob/v1.2/README.md

En breve, el resumen de las instrucciones para hacer la imagen que encontrarás en ese link son:

Partiendo de un sistema GNU/Linux:

  1. instala las herramientas necesarias: gcc, binutils, bzip2, flex, python,
    perl, make, find, grep, diff, unzip, gawk, getopt, subversion, time,
    libz-dev (or zlib) and libc headers
  2. git clone https://gitlab.com/librerouter/librerouteros.git
  3. cd librerouteros
  4. ./scripts/feeds update -a; ./scripts/feeds install -a
  5. cp configs/default_config .config
  6. make

Para más información, por favor lee con detenimiento ese enlace.

Para poder agregar tus propios paquetes, en los pasos mencionados previamente, antes del paso 6 en el que haces ‘make’, deberías ejecutar make menuconfig y seleccionar los paquetes que quieras agregar.

Efectivamente! si lo pruebas, nos cuentas que ta te va. @luandro le ha puesto mucho cariño!

3 Likes

Gracias Nico, muy claro.

En el comando feeds update o en el install falló al descargar fft-eval.

Ejecuté make y entró a un menú de configuración de OpenWRT.
Salí y ejecuté make menuconfig y entró al mismo menú.
Me dió el warning:
WARNING: Makefile ‘package/feeds/libremesh/luci-app-openairview/Makefile’ has a dependency on ‘fft-eval’, which does not exist

¡Tiene muchas opciones!
Supongo que ya está todo seleccionado por defecto lo que necesito para LibreRouterOS

Seleccioné en Target el router destino (wdr-4310).

También entré al menú Luci y seleccioné Luci Base.

Salí del menú, acepté guardar config y luego ejecuté make

Está compilando en este momento, luego les cuento como me fue.

Después de varios intentos pude compilar. Me faltaba instalar subversion en mi computadora. Este paquete no está en el listado de paquetes del foro de openwrt.

sudo apt install subversion

Hice el .bin con el paquete Luci.

Lo quemé en un router wdr-4310.
bootea y entro a limeapp firstbootwizard. Seteo nombre de red y nodo.

Cuando hago lo mismo en el segundo router (también es wdr-4310). Le digo que busque redes y no encuentra nada. Le pongo el mismo nombre de red y queda configurado, pero limeapp Alineación me dice que no hay otros nodos conectados. Me aparece en desplegable de interfaces vacío y el otro desplegable también, y se pasa a la pantalla con la cara triste :frowning:

Entro a través de Luci, no veo la sección mesh-nodes que tenía LibreMesh. Escaneo redes y veo el otro nodo con 74% de señal.

Se les ocurre que más puedo probar?
Estará molestando en paquete Luci?

Hola @rulosanti ! Bienvenido!!!

Que bueno que pudiste!!

Hmm, qué raro. Al principio pensé que quizas el 4310 solo tendría radios en 2.4GHz y que sería ese el problema ya que por defecto el LibreRouterOs solamente utiliza las redes en 5GHz para hacer la mesh, pero según leo por ahí tiene radios en 2.4 y 5GHz.

Si podes entrar por ssh y correr el comando lime-report y compartirnos la salida en un pastebin podemos debugear juntes.

También puedes correr lime-config y compartirnos la salida. Eso ademas va a “recofigurar” pero como no habría ninguna configuración cambiada deberia ser idempotente.

A mi huele que no aunque nunca probé de hacerlo por lo que podría ser una opción. Cómo hiciste para entrar? Navegando a http://IP/luci/ ?

Tienen ambos radios.Con estos equipos tenía instalado LibreMesh de octubre 2019 aprox y mesheaban bien.

Entre por IP/cgi-bin/Luci

Pruebo esos comandos y comparto.
Gracias!

Ejecuté primero lime-report y luego lime-config.
En el pastebin los pegué en el orden inverso para que sea más legible.

Este es el del 1er router:
https://pastebin.com/JBAXu6sX

Este es el del 2do router:
https://pastebin.com/6Jx8mcsw

Probé en un 3er router, un wdr-3600. Esta vez usé la imagen que generé sin agregar el paquete Luci. Tengo el mismo problema.
Acá el pastebin: https://pastebin.com/ZRCN18Uy

Puede ser que sea un problema con mi compilación, les recuerdo que al poner make me abrió el menu igual que si hubiera puesto make menuconfig

Parece estar todo bien!
Hay algo medio raro en el log (logread) que dice de un error de hotplug pero no me parece que sea ese el problema, y despues no veo que haya algo mal. Salvo por el hecho de que no se conectan…

Cuando ponias en escanear en luci lo hiciste con la radio de 5GHz y ahi si veias algo? Estaria bueno verificar que el escaneo en los dos routers muestra algo para al menos verificar que la recepción de las radios de ambos routers andan.

Poco probable pero será que estan demasiado cerca los routers? O demasiado lejos y sin antenas?
Cosas que se pueden probar es cambiar el ancho de banda y/o el canal de la radio de 5GHz. Lo haces en /etc/config/lime-community y despues corres los comandos lime-config y luego lime-apply. Ejemplos de configuraciones hay aca: lime-example pero por ejemplo para cambiar el canal y el ancho de banda seria con:

config lime wifi
        # ...
	list channel_5ghz '157'
	option htmode_5ghz 'HT20'

Aún no probé lo de cambiar de canal, los nodos están a 50mts con antenas de fábrica.

Tenés razón, había scaneado redes de 2.4.

Escaneando de 5ghz veo que uno de los equipos 4310 escanea pero no encuentra nada relacionado a LiMe, el otro equipo no escanea desde Luci… mirando la placa veo que uno de los pigtails está des-soldado… ¿quizás se estropeó el radio?

Al incorporar el 3er router (3600):

  • El equipo que escanea bien, encuentra una red LiMe en 5ghz. Esta Mac también aparece en “alinear” con -70.
  • Desde LimeApp en el wdr-3600 no encuentra al 4310, pero quizás sea una cuestión de alcance. Luego intentaré acercarlos. No le instalé LuCi y así que no puedo scanear con esa herramienta.

Así que el problema inicial era que uno de los equipos tiene un problema en el radio de 5ghz.

Ahora me gustaría renovar el firmaware del 3600 para tener LuCi. Abro otro hilo para eso.

Puede que si como puede que no. Para corroborarlo podes poner el router muy cerca (menos de un metro, inclusive a algunos pocos centímetros) y ver si ahi sí se ven. Si se ven entonces joya, quedaría que sueldes el cable.

Para escanear por consola podes hacer iw wlan1-mesh scan

Que bueno que lo encontraste!

Buenas noches!

Probé con varios equipos más (todos wdr4310 y comprados en el mismo envío) y con distintas versiones de OpenWRT y LibreMesh, y en todos los caso veo el mismo problema: Los radios de 5ghz no andan.

En versiones anteriores de LibreMesh, “hacían mesh” pero ahora me di cuenta que hacen la mesh en wlan0, o sea en 2.4ghz. ¿Esto puede ser?

El único equipo que escanea en 5ghz es el que tengo instalado afuera, y la única diferencia con el resto es que alguna vez que tuve un problema, tuve que recuperarlo con TFTP, hice telnet y unas cosas raras que no recuerdo.

¿se hacen una idea de por donde puede venir el problema?
En caso de que pruebe esa solución, ¿debería instalar la versión “factory”?
¿creen que debería agregarle algún paquete más a la compilación?
¿Alguna guía recomendada para este procedimiento?

Gracias!

Aca cuando decis que no andan es que cuando escaneás no ves nada? O las radios no levantan (no aparecen cuando haces iw dev)? (que las radios no levanten puede ser que falte algun driver)

Si tenes un smartphone que tenga radio en 5GHz podes probar de hacer un hotspot o zona wifi en 5GHz para que haya alguna señal para escanear (quizas nunca hay nada porque no hay Access Points en la zona?)
Tambien podes probar de configurar a todas las radios en access point y ver si podes conectarte con algun cliente en 5GHz. Para hacer esto tenes que cambiar el /etc/config/lime-community y correr el lime-config y lime-apply.
Deberias dejarlo así:

config lime wifi
	list modes 'ap'
	list modes 'apname'
	#list modes 'ieee80211s'

Eso desactiva el mesh y activa AP y APname en todas las radios (las de 2ghz y las de 5).

Me parece muy raro que sea un problema de software si provaste con varias versiones de OpenWrt, y mas sobre todo si estuvieron andando en algún momento.

Exacto! Quizas nunca hicieron mesh en 5GHz?
Para que hagan mesh en todas las interfaces seria así:

config lime wifi
	list modes 'ap'
	list modes 'apname'
	list modes 'ieee80211s'

Suena raro que tenga que ver que el que anda es por algo que se hizo por tftp, peeeero, puede ser que no este andando bien algo de la calibración de las radios por como fue el proceso de instalación original cuando pasaste los equipos del firmware original a OpenWrt/LibreMesh.

Podes compartir la salida de un dmesg despues de 1 minuto de reiniciar los equipos? (el de el que parece que esta andando y uno del resto). La idea es ver si puede haber algun mensaje asociado a la radio de 5GHz que sea distinto, por ejemplo algo relacionado a la calibración u otra cosa similar.
Volver al equipo al fw de fábrica quizas se puede para probar si realmente anda la radio de 5GHz, hay que leer en la pagina del wiki de OpenWrt del 4310 o 4300 como se hace. Yo lo dejaría como última opción (porque siempre se puede brickear el router y complicarla mas todavía).

Las versiones factory son para instalar por primera vez un OpenWrt (o LibreMesh u otro derivado de OpenWrt) cuando el firmware que tiene es el que viene de fabrica. Y solo hay que usarlo una vez. Luego siempre se usa el firmware “sysupgrade.bin”.

Estos equipos los compré en una venta barata a un proveedor de China, vinieron sin carcasa y sin antenas. El firmware “de fábrica” era OpenWRT 15 (nunca tuvieron el de tp-link). Ayer entré a uno con firmware “de fábrica” y el radio de 5ghz se comporta igual.

Hay redes de 5ghz en la zona, ya que el router que anda detecta un Mikrotik y emite (lo veo con el 3600).

En los que no encuentra nada, cuando escaneo por interfaz web nunca termina y queda el icono danto vueltas donde deberían aparecer los resultados. Si lo hago con iw wlan1-mesh scan el comando no emite ninguna salida.

Leyendo en este post a continuación, y viendo que se meten a tocar más a fondo la UART:

Recordé que una vez había hecho eso del TFTP, y quizás eso sea la diferencia.

Es posible que lo que está en el ultimo mensaje de ese thread ayude!

Si te interesa podes intentar ver que diferencias hay entre los distintos bootloaders de los equipos que tenes instalados. Por ejemplo en un librerouter:

root@node1:~$ cat /proc/mtd 
dev:    size   erasesize  name
mtd0: 00040000 00010000 "u-boot"
mtd1: 00010000 00010000 "u-boot-env"
mtd2: 007c0000 00010000 "fw1"
mtd3: 007c0000 00010000 "firmware"
mtd4: 00160000 00010000 "kernel"
mtd5: 00660000 00010000 "rootfs"
mtd6: 00290000 00010000 "rootfs_data"
mtd7: 00020000 00010000 "res"
mtd8: 00010000 00010000 "ART"

# mtd0 es la particion del bootloader
root@node1:~$ cat  /dev/mtd0 > /tmp/bootloader

# leemos los textos que hay adentro del bootloader
root@node1:~$ strings /tmp/bootloader 

Si te bajas /tmp/bootloader podes ver que hay y compararlos entre los dispositivos. El comando strings es piola para mirar rapido.

Fui a trabajar a un equipo wdr4310 que tenemos instalado en una casa a 150m del equipo que funciona bien, y aparentemente este 2do equipo también funciona en 5ghz: Detecta la red Mikrotik y la red Ubnt pero no detecta mi otro equipo. Sin embargo en 2.4ghz se detectan bien y están haciendo Mesh.

No hay visibilidad completa entre ambos nodos, ya que fueron instalados el invierno pasado y ahora hay unos árboles que bloquean parcialmente la visión.

¿Puede ser que la banda 2.4ghz tenga mayor capacidad de “esquivar” ese obstaculo con las antenas de fábrica?

Hola, …un poco sí… La onda de 2.4Ghz tiene el doble de tamaño (3cm aprox) que la de 5.8Ghz, además en la transmisión en general llega mas amplitud de onda a la antena con frecuencias mas bajas.
También podría decirse que hay una relación entre el ancho de banda {20Mhz (Legacy) o 40Mhz (N) } y la potencia irradiada por la antena. Por lo que a veces puede verse una diferencia en la calidad de la señal.
Saludos

Saludos! Viendo que la versión actual (LibreRouterOS 1.4.2) es más grande, ¿aún funciona ponerlo en esos routers TP-Link? Yo, por ejemplo, tengo un WDR-3500. Considerando que el LRv1 tiene 16 MB Flash, y el 3500 tiene 8 MB flash, supongo que no se puede? O aquí viene la cuestión de tener dos slots para firmware, entonces la el LRv1 tiene capacidad de 8 MB?

Hola Pato! Muy buena pregunta. Sí, los firmwares LibreRouterOs “pesan” menos de 8MB para que entren tanto en los librerouters usando dos slots de 8MB cada uno, como en otros equipos que solo tienen 8MB de espacio y no usan un sistema de dos slots.

1 Like

Saludos compas. Estoy mirando cómo hacer una red con algunos LibreRouters y algunos otros equipos. Estoy pensando algo así:

(router ISP)
     /\
 cable de red
     \/
(TP-Link CPE 610, con LibreRouterOS?)
    /\
  1 km aire
    \/
(LibreRouter, con LibreRouterOS?)

Alguien tiene experiencia con algo así? Sugerencias?

Hola Pato, yo te recomiendo que el TP-Link CPE610 lo dejen con el firmware original y lo configures como AP wifi con clave. Y al LibreRouter lo configures para que se conecte como cliente: