Banana Pi R64 O melhor roteador para OpenWrt, ou não?

imagem

Olá, meu nome é Dmitry e hoje vou revisar o computador de placa única Banana Pi R64. Aprenderemos como instalar o OpenWrt e como montar o firmware para este computador.

Portanto, em Habré já existe uma visão geral neste computador , mas o autor usa o Armbian como sistema operacional. Eu tentei este sistema operacional, assim como o Debian, e cheguei à conclusão de que não há melhor sistema operacional para criar um roteador que o OpenWrt, eis as razões:

  1. No OpenWrt, a rede é configurada automaticamente sem nenhum envolvimento de sua parte. No Debian e no Armbian, você precisa configurar a rede pessoalmente, através dos arquivos de configuração.
  2. A interface da web OpenWrt foi projetada para o gerenciamento de roteadores. O Debian e o Armbian também têm interfaces web (Webmin, etc.), mas são projetados para o gerenciamento geral de servidores.
  3. Das vantagens do Debian e Armbian, um sistema de arquivos mais simples pode ser observado, que é exibido como está. O OpenWrt possui um sistema de arquivos muito complexo. Consistindo em vários pontos de montagem, alguns dos quais possuem um atributo somente leitura.

Como instalar o openwrt


Este manual foi retirado do fórum oficial do Banana PI: forum.banana-pi.org/c/Banana-Pi-BPI-R2 .

Para instalar o OpenWrt, você precisará de:

  1. Cartão micro sd
  2. Cabo da Internet
  3. Adaptador usb-uart
  4. Win32 diskimager
  5. Servidor TFTP
  6. Putty
  7. Imagem SD para cartão
  8. Imagem img que você carrega na memória interna do dispositivo
  9. O pré-carregador necessário para baixar esta imagem

Procedimento:

  1. Preencha a imagem sd no cartão sd usando o Win32 Diskimager
  2. Conecte o adaptador USB-Uart aos contatos correspondentes na placa (roteador tx - conversor rx, roteador rx - conversor tx, conecte o terra), entre no Putty e conecte-se à porta Com, a velocidade de transferência de dados é 115200. Você pode ver qual porta Com precisa em O Gerenciador de dispositivos geralmente é COM4.
  3. Insira o cartão no Banana PI e ligue-o.
  4. No menu de inicialização U, selecione 'b. System Load flashimage e depois escreva no Flash via TFTP '(o servidor TFTP deve estar ativado. O arquivo de imagem deve ser colocado na mesma pasta que o servidor TFTP. Nas configurações da placa de rede, você deve especificar o endereço IP e o gateway principal).
  5. Após o firmware, retornamos ao menu U-Boot com o comando bootmenu e a opção '7. O System Load Preloader, em seguida, grava no Flash via TFTP ', preencha o pré-carregador (este arquivo também deve estar na pasta com o servidor TFTP).
  6. Reiniciamos o roteador e vemos o OpenWrt. O menu U-boot agora está disponível sem um cartão SD, agora aparecerá sempre por 3 segundos na inicialização.

Infelizmente, a imagem que carregamos no dispositivo é muito antiga. Portanto, por exemplo, você não pode instalar aplicativos adicionais (pacotes) nele.

Onde obter o OpenWrt?


Devo dizer que no momento da redação deste texto não havia uma versão estável do OpenWrt para Bpi-R64. Há suporte para este dispositivo no ramo de desenvolvimento , mas no momento a compatibilidade não está completa. Ou seja, você pode carregar a imagem initramfs e ela funcionará. Mas essa imagem foi criada para se familiarizar com o OpenWrt, ela existe apenas na RAM e, após a reinicialização do dispositivo, todas as configurações e aplicativos instalados serão perdidos. A imagem do sysupgrade não está funcionando no momento e, se você a instalar, o dispositivo simplesmente será reiniciado constantemente.

Portanto, a única maneira de obter uma imagem de sysupgrade funcional é construindo-a usando patches no fórum oficial do Banana PI.

Eu já montei a imagem do OpenWrt em 16 de abril de 2020. Esta imagemimagem .

Inclui:

  1. Transmissão com interface web
  2. Detalhes do driver NTFS-3G aqui
  3. Samba
  4. mc, nano, htop e outros utilitários

Para instalar esta imagem, vá para o menu U-boot e selecione a opção: 2) System Load Linux Kernel e depois grave no Flash via TFTP.
Mas se você deseja criar sua própria imagem, veja como fazê-lo.

Como criar uma imagem OpenWrt funcional


Como o processo de montagem e preparação é muito volumoso, descreverei apenas os pontos principais.

1) Para criar, você precisa de uma máquina virtual e uma imagem do Linux. Como prepará-los e onde obtê-los é descrito aqui . Quero observar que, nas configurações da máquina virtual, especifique o número de núcleos do seu processador (por padrão, é 1). O processo de montagem do kernel é muito longo e, em um núcleo, será ainda mais longo.

2) Depois disso, você precisa baixar a fonte do Git, como fazer isso é descrito aqui . É necessário parar no comando make menuconfig

3) Vá para o arquivo openwrt / target / linux / mediatek / makefile e altere o número do kernel de 5.4 para 4.19. Atualmente, não é possível criar uma imagem do OpenWrt no kernel 5.4.

4) faça o menuconfig selecionar Target-> Mediatck Arm, Subtarget-> mt7622, ​​Profile-> Banana Pi R64. Você também pode selecionar os pacotes adicionais necessários. Então saímos com conservação.

5) make defconfig não sei por que, mas eles sempre fazem esse comando.

6) faça do kernel_menuconfig -j5 o número após j ser calculado como o número de núcleos do seu processador mais um (eu tenho um processador de quatro núcleos).

7) Após meia hora de espera, o menu de configuração do kernel aparece aqui, você precisa definir estas opções:
“Drivers de dispositivo” -> “Suporte ao dispositivo de tecnologia de memória (MTD)” -> “Análise da tabela de partição de linha de comando”
“Drivers de dispositivo” - > "Suporte ao dispositivo de tecnologia de memória (MTD)" "Drivers de dispositivo MTD independentes" -> "MTD usando dispositivo de bloco"
“Drivers de dispositivo” -> “Suporte para cartão MMC / SD / SDIO” -> “Driver de dispositivo de bloco MMC”

8) Pegue este patch e copie-o aqui: openwrt / target / linux / mediatek / patches-4.19. (Quero observar que esse patch causava erros de compilação constantemente. Portanto, apenas copiei as linhas para o arquivo mt7622-bananapi-bpi-r64.dts, que fica aqui: openwrt / linux / mediatek / files-4.19 / arch / arm64 / boot / dts / mediatek)

9) make -j5

10) Após a compilação, o arquivo openwrt-mediatek-mt7622-bpi_bananapi-r64-squashfs-sysupgrade.bin que você pode piscar através da opção do menu u-boot estará na pasta bin: 2) System Load Linux Kernel, em seguida, grave no Flash via TFTP.

Conclusão


Banana Pi é um dispositivo muito controverso. Alto desempenho é combinado com suporte feio dos desenvolvedores. Não há firmware oficial, mas o suporte de desenvolvedores de terceiros é mais ou menos. Mas, ainda assim, é um roteador muito poderoso com 5 portas de gigabit, um gigabyte de RAM e um rápido processador dual-core. Ou seja, não existe um roteador comum quando você coloca o Transsmison para download e o roteador bica e range como se fosse morrer. Aqui, a operação de transmissão não afeta a capacidade de resposta do dispositivo.

Também é importante notar que o dispositivo é vendido sem um estojo. Portanto, o caso terá que fazer você mesmo. Mas se você tiver uma impressora 3D, isso não será um problema. Aqui está minha versão

PS Atualização do firmware adicionado Qualidade de serviço

05/07/2020 Mais uma vez atualizou o firmware, adicionou ntfs-3g-low uma implementação mais rápida de ntfs.

PPS Minhas pequenas observações: O OpenWrt na reinicialização gera um novo endereço MAC para o dispositivo. E, por exemplo, no meu modem conectado ao roteador, também preciso reiniciar se o roteador foi reiniciado e o Windows encontrar uma nova rede (que não é crítica, mas irritante). Tudo isso é resolvido definindo um endereço MAC constante para wan e lan.

arquivos


  1. Minha compilação de firmware
  2. Definições para a configuração do menu da minha compilação
  3. Capa para Banana Pi R64 on thingiverse

All Articles