Banana Pi R64 ¿El mejor enrutador para OpenWrt, o no?

imagen

Hola, mi nombre es Dmitry y hoy revisaré la computadora de placa única Banana Pi R64. Aprenderemos cómo instalar OpenWrt en él y cómo ensamblar el firmware para esta computadora.

Entonces, en Habré ya hay una descripción general de esta computadora , pero el autor usa Armbian como SO. Probé este sistema operativo, así como Debian, y llegué a la conclusión de que no hay mejor sistema operativo para crear un enrutador que OpenWrt, estas son las razones:

  1. En OpenWrt, la red se configura automáticamente sin ninguna participación de su parte. En Debian y Armbian, debe configurar la red usted mismo, a través de los archivos de configuración.
  2. La interfaz web de OpenWrt está diseñada para la administración del enrutador. Debian y Armbian también tienen interfaces web (Webmin, etc.), pero están diseñadas para la administración general del servidor.
  3. Entre las ventajas de Debian y Armbian, se puede observar un sistema de archivos más simple, que se muestra tal cual. OpenWrt tiene un sistema de archivos muy complejo. Consta de varios puntos de montaje, algunos de los cuales tienen un atributo de solo lectura.

Cómo instalar openwrt


Este manual está tomado del foro oficial de Banana PI: forum.banana-pi.org/c/Banana-Pi-BPI-R2 .

Para instalar OpenWrt necesitarás:

  1. Tarjeta micro SD
  2. Cable Enternet
  3. Adaptador usb-uart
  4. Win32 diskimager
  5. Servidor TFTP
  6. Masilla
  7. Imagen SD para tarjeta
  8. Img imagen que cargue en la memoria interna del dispositivo
  9. El precargador necesario para descargar esta imagen

Procedimiento:

  1. Rellene la imagen SD en la tarjeta SD usando Win32 Diskimager
  2. Conecte el adaptador Usb-Uart a los contactos correspondientes en la placa (enrutador tx - convertidor rx, enrutador rx - convertidor tx, conecte a tierra), vaya a Putty y conéctese al puerto Com, la velocidad de transferencia de datos es 115200. Puede ver qué puerto Com necesita. El Administrador de dispositivos suele ser COM4.
  3. Inserte la tarjeta en Banana PI y enciéndala.
  4. En el menú U-boot, seleccione 'b. System Load flashimage y luego escriba en Flash a través de TFTP '(el servidor TFTP debe estar habilitado. El archivo de imagen debe colocarse en la misma carpeta que el servidor TFTP. En la configuración de la tarjeta de red, debe especificar la dirección IP y la puerta de enlace principal).
  5. Después del firmware, volvemos al menú U-Boot con el comando bootmenu y la opción '7. System Load Preloader y luego escriba en Flash a través de TFTP 'complete el preloader (este archivo también debe estar en la carpeta con el servidor TFTP).
  6. Reiniciamos el enrutador y vemos OpenWrt. El menú U-boot ahora está disponible sin una tarjeta SD, ahora siempre aparecerá durante 3 segundos en el arranque.

Desafortunadamente, la imagen que subimos al dispositivo es muy antigua. Por lo tanto, por ejemplo, no puede instalar aplicaciones adicionales (paquetes) en él.

¿Dónde conseguir OpenWrt?


Debo decir que en el momento de escribir este artículo no existe una versión estable de OpenWrt para Bpi-R64. Hay soporte para este dispositivo en la rama de desarrollo , pero en este momento la compatibilidad no está completa. Es decir, puede cargar la imagen initramfs y funcionará. Pero esta imagen se creó para familiarizarse con OpenWrt, solo existe en la RAM y después de reiniciar el dispositivo, se perderán todas las configuraciones y aplicaciones instaladas. La imagen de sysupgrade actualmente no funciona, y si la instala, el dispositivo simplemente se reiniciará constantemente.

Por lo tanto, la única forma de obtener una imagen sysupgrade que funcione es construirla usted mismo utilizando parches del foro oficial de Banana PI.

Ya he ensamblado la imagen de OpenWrt del 16 de abril de 2020. Esta imagenimagen .

Incluye:

  1. Transmisión con interfaz web
  2. Detalles del controlador NTFS-3G aquí
  3. Samba
  4. mc, nano, htop y otras utilidades

Para instalar esta imagen, vaya al menú U-boot y seleccione la opción: 2) Sistema Cargue el kernel de Linux y luego escriba en Flash a través de TFTP.
Pero si desea construir su propia imagen, entonces aquí le mostramos cómo hacerlo.

Cómo construir una imagen OpenWrt que funcione


Dado que el proceso de montaje y preparación es muy voluminoso, describiré solo los puntos principales.

1) Para construir necesitas una máquina virtual y una imagen de Linux. Aquí se describe cómo prepararlos y dónde obtenerlos . Quiero señalar que en la configuración de la máquina virtual, asegúrese de especificar el número de núcleos de su procesador (por defecto es 1). El proceso de ensamblaje del kernel es muy largo, y en un núcleo será aún más largo.

2) Después de eso, debe descargar la fuente de Git . Aquí se describe cómo hacerlo . Es necesario detenerse en el comando make menuconfig

3) Vaya al archivo openwrt / target / linux / mediatek / makefile y cambie el número de kernel de 5.4 a 4.19. Actualmente no es posible construir una imagen OpenWrt en el kernel 5.4.

4) haga que menuconfig seleccione Target-> Mediatck Arm, Subtarget-> mt7622, ​​Profile-> Banana Pi R64. También puede seleccionar los paquetes adicionales que necesita. Luego salimos con conservación.

5) hacer defconfig No sé por qué, pero siempre hacen este comando.

6) haga que kernel_menuconfig -j5 sea el número después de que j se calcule como el número de núcleos de su procesador más uno (tengo un procesador de cuatro núcleos).

7) Después de media hora de espera, el menú de configuración del núcleo aparece aquí, debe configurar estas opciones:
"Controladores de dispositivo" -> "Soporte de dispositivo de tecnología de memoria (MTD)" -> "Análisis de la tabla de partición de línea de comandos"
"Controladores de dispositivo" - > "Compatibilidad con dispositivos de tecnología de memoria (MTD)" "Controladores de dispositivos MTD autónomos" -> "MTD con dispositivo de bloque"
“Controladores de dispositivo” -> “Soporte de tarjeta MMC / SD / SDIO” -> “Controlador de dispositivo de bloque MMC”

8) Tome este parche y cópielo aquí: openwrt / target / linux / mediatek / patches-4.19. (Quiero señalar que este parche constantemente causaba errores de compilación. Por lo tanto, solo copié las líneas del archivo mt7622-bananapi-bpi-r64.dts que se encuentra aquí: openwrt / linux / mediatek / files-4.19 / arch / arm64 / boot / dts / mediatek)

9) make -j5

10) Después de la compilación, el archivo openwrt-mediatek-mt7622-bpi_bananapi-r64-squashfs-sysupgrade.bin que puede flashear a través de la opción del menú u-boot estará en la carpeta bin: 2) System Load Linux Kernel luego escribe en Flash a través de TFTP.

Conclusión


Banana Pi es un dispositivo muy controvertido. El alto rendimiento se combina con el desagradable soporte de los desarrolladores. No hay firmware oficial, pero el soporte de desarrolladores externos es regular. Pero aún así es un enrutador muy potente con puertos de 5 gigabits, un gigabyte de RAM y un procesador rápido de doble núcleo. Es decir, no hay tal cosa como en un enrutador ordinario, cuando pones Transsmison para descargar y el enrutador sopla y cruje como si fuera a morir. Aquí, el funcionamiento de la transmisión no afecta la capacidad de respuesta del dispositivo.

También vale la pena señalar que el dispositivo se vende sin una funda. Por lo tanto, el cuerpo tendrá que hacerlo usted mismo. Pero si tiene una impresora 3D, entonces esto no es un problema, aquí está mi versión

PS Firmware actualizado agregado Calidad de servicio

05/07/2020 Una vez más actualizó el firmware, agregó ntfs-3g-low una implementación más rápida de ntfs.

PPS Mis pequeñas observaciones: OpenWrt al reiniciar genera una nueva dirección MAC para el dispositivo. Y, por ejemplo, mi módem que está conectado al enrutador, también necesito reiniciar si el enrutador se reinició, y Windows encuentra una nueva red (que no es crítica pero molesta). Todo esto se resuelve estableciendo una dirección MAC constante tanto para wan como para lan.

Archivos


  1. Mi compilación de firmware
  2. Configuraciones para la configuración del menú de mi compilación
  3. Funda para Banana Pi R64 en thingiverse

All Articles