Motivação
Testar roteadores com a versão mais recente do LibreMesh é crucial para as redes comunitárias que dependem de redes mesh como sua infraestrutura de comunicação. A importância reside no fato de que testes insuficientes dificultam o desenvolvimento de novas versões. Atualmente, a versão oficial do LibreMesh está vinculada ao lançamento de 2019 do OpenWRT. Essa limitação impede o progresso, pois avanços e melhorias frequentemente são deixados inexplorados. Ao realizar testes minuciosos com a versão mais recente, abrimos caminho para recursos aprimorados, maior estabilidade e melhor desempenho geral. É por meio desses testes que identificamos e abordamos possíveis problemas, garantindo uma plataforma robusta e confiável para as redes comunitárias. Avançar além da versão 2019 do OpenWRT abre oportunidades para inovação e mantém o LibreMesh na vanguarda da tecnologia de redes mesh. Portanto, um esforço conjunto nos testes é essencial para impulsionar a evolução do LibreMesh e contribuir para o crescimento contínuo das redes de comunicação baseadas em mesh impulsionadas pela comunidade.#
https://downloads.libremesh.org/development/master-ow23.05.0/
Dispositivos Testados
Eap225-outdoor v3
Testar o roteador TP-Link EAP225-Outdoor V3 é motivado pela crescente demanda por soluções wireless robustas em redes comunitárias, especialmente em ambientes externos como parques. A motivação surge do desejo de enfrentar os desafios únicos apresentados por ambientes externos e acomodar um alto volume de usuários simultaneamente. O EAP225-Outdoor V3 se apresenta como uma solução potencial, projetada para fornecer conectividade Wi-Fi confiável em espaços externos com foco em escalabilidade e desempenho. Notavelmente, destaca-se como a opção mais econômica em sua categoria, tornando-se uma escolha atraente para redes comunitárias com restrições orçamentárias. Testar este roteador em cenários de redes comunitárias torna-se essencial para garantir sua compatibilidade com condições externas e sua capacidade de lidar efetivamente com a carga de usuários esperada. Ao realizar testes minuciosos, os administradores de rede podem verificar a adequação do EAP225-Outdoor V3 para áreas externas impulsionadas pela comunidade, contribuindo para a criação de redes wireless acessíveis e confiáveis em espaços públicos.
Este equipamento teve um processo relativamente simples para instalar o LibreMesh. Seguindo a documentação fornecida pelo OpenWrt, o sistema funcionou normalmente.
Passos
1 - Ligue e defina seu IP para 192.168.0.1 e o gateway para 192.168.0.254.
2 - Faça login na página da web e habilite o acesso SSH, em seguida, faça login usando SSH.
3 - SSH no roteador (ssh user@192.168.0.254) e execute cliclientd stopcs
.
4 - Faça o upload do firmware com um nome curto (menos de 63 caracteres).
O roteador então se juntou à malha disponível na comunidade com uma versão mais antiga do Lime.
Problemas
1 - thisnode.info
não está funcionando devido a um problema de SSL; às vezes precisamos usar explicitamente HTTP.
2 - O assistente de primeira inicialização não está funcionando.
3 - O suporte remoto não está funcionando, retornando “Por favor, verifique se o pacote ubus-tmate
está instalado.”
4 - O acesso ao voucher não está funcionando; no console do navegador, retorna “Uncaught (in promise) TypeError: Cannot read properties of null (reading ‘sort’).”
-
Oficial Page - https://www.tp-link.com/us/business-networking/ceiling-mount-access-point/eap225-outdoor/
CPE510 v3
Testar o roteador TP-Link EAP225-Outdoor V3 é motivado pela crescente demanda por soluções wireless robustas em redes comunitárias, especialmente em ambientes externos como parques. A motivação surge do desejo de enfrentar os desafios únicos apresentados por ambientes externos e acomodar um alto volume de usuários simultaneamente. O EAP225-Outdoor V3 se apresenta como uma solução potencial, projetada para fornecer conectividade Wi-Fi confiável em espaços externos com foco em escalabilidade e desempenho. Notavelmente, destaca-se como a opção mais econômica em sua categoria, tornando-se uma escolha atraente para redes comunitárias com restrições orçamentárias. Testar este roteador em cenários de redes comunitárias torna-se essencial para garantir sua compatibilidade com condições externas e sua capacidade de lidar efetivamente com a carga de usuários esperada. Ao realizar testes minuciosos, os administradores de rede podem verificar a adequação do EAP225-Outdoor V3 para áreas externas impulsionadas pela comunidade, contribuindo para a criação de redes wireless acessíveis e confiáveis em espaços públicos.
Este equipamento teve um processo relativamente simples para instalar o LibreMesh. Seguindo a documentação fornecida pelo OpenWrt, o sistema funcionou normalmente.
Passos
1 - Ligue e defina seu IP para 192.168.0.1 e o gateway para 192.168.0.254.
2 - Faça login na página da web e habilite o acesso SSH, em seguida, faça login usando SSH.
3 - SSH no roteador (ssh user@192.168.0.254) e execute cliclientd stopcs
.
4 - Faça o upload do firmware com um nome curto (menos de 63 caracteres).
O roteador então se juntou à malha disponível na comunidade com uma versão mais antiga do Lime.
Problemas
1 - thisnode.info
não está funcionando devido a um problema de SSL; às vezes precisamos usar explicitamente HTTP.
2 - O assistente de primeira inicialização não está funcionando.
3 - O suporte remoto não está funcionando, retornando “Por favor, verifique se o pacote ubus-tmate
está instalado.”
4 - O acesso ao voucher não está funcionando; no console do navegador, retorna “Uncaught (in promise) TypeError: Cannot read properties of null (reading ‘sort’).”
Apesar dos problemas encontrados, este roteador funcionou muito bem no roadmap do libremesh e esses problemas já foram resolvidos e em breve teremos um sistema completo.
Archer AX23 v1
Com as versões antigas do LibreMesh, um roteador amplamente utilizado que quase não está mais no mercado é o TP-Link Archer C7, e um bom substituto para ele poderia ser o Archer AX23. Ao comparar o Archer C7 com o mais recente Archer AX23, torna-se evidente que o AX23 representa um avanço significativo na tecnologia de redes. Enquanto o Archer C7 V1 tem sido uma escolha confiável para redes comunitárias, o AX23 o supera em vários aspectos. O Archer AX23 introduz a tecnologia Wi-Fi 6, oferecendo velocidades significativamente mais rápidas e melhor desempenho geral da rede em comparação com o padrão Wi-Fi 5 mais antigo utilizado pelo Archer C7 V1. Com recursos como capacidade aumentada e eficiência aprimorada no manuseio de vários dispositivos simultaneamente, o AX23 atende às crescentes necessidades de conectividade das redes comunitárias contemporâneas. Além disso, o AX23 incorpora tecnologias avançadas como MU-MIMO e Beamforming, contribuindo para uma conexão sem fio mais estável e eficiente. À medida que as redes comunitárias evoluem, o Archer AX23 surge como uma solução superior e pronta para o futuro, oferecendo capacidades aprimoradas para atender às demandas do cenário digital em constante mudança.
1 - Faça login no sistema TP-Link > faça o upload do firmware. 2 - Escolha o firmware.
Após reiniciar, o roteador funciona com o LibreMesh, mas por algum motivo, o sistema não veio com a faixa de IP correta conforme esperado. Tentei usar o firmware sysupgrade e o roteador quebrou. Para recuperar, mantenha pressionado o botão de reset enquanto liga o roteador e solte o botão de reset quando apenas o LED WAN laranja estiver aceso, em seguida, faça o upload do firmware de fábrica da TP-Link.
-
Oficial Page - https://www.tp-link.com/my/home-networking/wifi-router/archer-ax23/
-
Ref. 1 - https://openwrt.org/toh/tp-link/archer_ax23_v1 2 - https://forum.openwrt.org/t/add-support-for-tp-link-ax23-v1/130746/55?page=2
Nanostation Ac Loco (airOs v8.7.9)
Por ter dois rádios de 5.8GHz, este equipamento é muito interessante para uso em redes comunitárias. Podemos usar um rádio para a malha e o outro para se conectar aos clientes, o que é crucial para estabelecer uma rede de malha mais estável, evitando problemas como o problema do nó oculto.
Neste caso, o roteador estava inicialmente equipado com a versão 8.7.9 do airOS da Ubiquiti. No entanto, precisei fazer o downgrade para a versão 8.7.0. Infelizmente, o sistema estava restrito e não permitia a instalação de versões mais antigas do firmware.
O que tornou este equipamento mais desafiador é um problema que nem mesmo a comunidade do OpenWrt conseguiu resolver ainda, conforme descrito neste post.
Hipóteses investigadas
1 - Remover parte do programa de atualização de firmware que verifica a versão do arquivo candidato para uma atualização, conforme descrito nos procedimentos comuns para ubiquitis
Com acesso ao terminal SSH, tentei criar um novo arquivo de atualização.
WA# hexdump -Cv /bin/ubntbox | sed 's/14 40 fe fe/00 00 00 00/g' | hexdump -R > /tmp/fwupdate.real
WA# chmod +x /tmp/fwupdate.real
WA# /tmp/fwupdate.real -m WA.v8.7.0.42152.200203.1256.bin
Invalid version 'WA.ar934x.v8.7.0.42152.200203.1256'
mas não funcionou.
2 - Utilize o binário do programa de atualização de versão que aceita atualizações:
Como não é possível fazer o downgrade do sistema, foi feita uma tentativa de extrair o binário que verifica o arquivo de atualização da versão anterior, o que já está documentado sobre como proceder.
Assim, utilizando o comando binwalk, extraí os arquivos binários de uma versão WA.ar934x.v8.7.0.42152.200203.1256 do airOS.
binwalk -Me WA.v8.7.0.42152.200203.1256.bin
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
0 0x0 Ubiquiti firmware header, header size: 264 bytes, ~CRC32: 0x8E4EB358, version: "WA.ar934x.v8.7.0.42152.200203.1256"
268 0x10C Ubiquiti partition header, header size: 56 bytes, name: "PARTu-boot", base address: 0x9F000000, data size: 231788 bytes
115476 0x1C314 Certificate in DER format (x509 v3), header length: 4, sequence length: 64
143220 0x22F74 U-Boot version string, "U-Boot 1.1.4-s1102 (Mar 5 2019 - 17:13:19)"
143508 0x23094 CRC32 polynomial table, big endian
224688 0x36DB0 CRC32 polynomial table, big endian
232120 0x38AB8 Ubiquiti partition header, header size: 56 bytes, name: "PARTkernel", base address: 0x9F050000, data size: 991878 bytes
232176 0x38AF0 uImage header, header size: 64 bytes, header CRC: 0xA68651F0, created: 2020-02-03 11:03:06, image size: 991814 bytes, Data Address: 0x80002000, Entry Point: 0x80002000, data CRC: 0x6458CA58, OS: Linux, CPU: MIPS, image type: OS Kernel Image, compression type: lzma, image name: "MIPS Ubiquiti Linux-2.6.32.68"
232240 0x38B30 LZMA compressed data, properties: 0x5D, dictionary size: 8388608 bytes, uncompressed size: 2844788 bytes
1224062 0x12AD7E Ubiquiti partition header, header size: 56 bytes, name: "PARTrootfs", base address: 0x9F150000, data size: 7995392 bytes
1224118 0x12ADB6 Squashfs filesystem, little endian, version 4.0, compression:lzma, size: 7675509 bytes, 988 inodes, blocksize: 262144 bytes, created: 2020-02-03 11:03:08
9219518 0x8CADBE Ubiquiti firmware additional data, name: script, size: 398 bytes, size2: 398 bytes, CRC32: 8fdcf4e2
9219574 0x8CADF6 gzip compressed data, from Unix, last modified: 2020-02-03 11:01:05
9219980 0x8CAF8C Signed Ubiquiti end header, RSA 2048 bit, header size: 264 bytes
Assim, na pasta de binários, encontrei o arquivo ubntbox, que serve como o alvo para o link simbólico direcionado do arquivo fwupdate.real. Copiando este binário para o roteador, obtive a seguinte saída:
WA# /tmp/fwupdate.real -m openwrt-ubnt_initramfs.bin
/tmp/fwupdate.real: can't load library 'libssl.so.1.0.0'
In other words, we need a library for this binary to work since this library has been updated in the new version. I also tried to create a symbolic link from the newer library to this one, but it wasn’t possible to create a symbolic link because the system is set to read-only.
WA# ln -s /lib/libssl.so.1.1 /lib/libssl.so.1.0.0
ln: /lib/libssl.so.1.0.0: Read-only file system
3 - Acessando o u-boot e carregando o firmware na memória flash
Para acessar o u-boot, tive que conectá-lo via porta serial. Para fazer isso, tive que soldar um adaptador flash-serial na circuitaria do roteador e fazer uma conexão USB com o computador para acessar o u-boot do roteador.
Assim que o sistema começa a inicializar, recebemos uma mensagem dizendo Pressione qualquer tecla para interromper a inicialização automática: 0. Pressionar Enter neste ponto interrompe o sistema de inicialização.
U-Boot 1.1.4-s1102 (Mar 5 2019 - 17:13:19)
DRAM: 64 MB
Flash: 16 MB (0xc2, 0x20, 0x18)
PCIe WLAN Module found (#1).
Net: AR8035
eth0, eth1
Board: Ubiquiti Networks AR9342 board (e7fa-141334.1123.0030.0031)
Radio: 0777:e7fa
Reset: Normal
Hit any key to stop autoboot: 0
ar7240>
ar7240>
ar7240>
Agora que você tem acesso ao terminal, você pode iniciar o processo de inicialização usando o comando tftpboot.
ar7240> tftpboot
*** Warning: no boot file name; using '1401A8C0.img'
Using eth0 device
TFTP from server 192.168.1.254; our IP address is 192.168.1.20
Filename '1401A8C0.img'.
Load address: 0x81000000
Loading: T T T T
Retry count exceeded; starting again
Invalid speed detected
*** Warning: no boot file name; using '1401A8C0.img'
Simultaneamente, em um computador, você precisa criar um servidor TFTP com um IP fixo em 192.168.1.254 e servir um arquivo chamado 1401A8C0.img. Este arquivo deve ser uma imagem initramfs do OpenWrt, neste caso, LibreMesh.
Assim que o arquivo for enviado, inicialize o sistema com bootm. Uma vez que o sistema tenha inicializado, você terá acesso a um terminal dentro do OpenWrt para realizar a atualização final.
root@OpenWrt:/tmp# mtd -r write /tmp/libremesh-master-ow23.05.2-default-ath79-generic-ubnt_nanostation-ac-loco-squashfs-sysupgrade.bin firmware
Unlocking firmware ...
Writing from /tmp/libremesh-master-ow23.05.2-default-ath79-generic-ubnt_nanostation-ac-loco-squashfs-sysupgrade.bin to firmware .
O sistema não funcionou exatamente como esperado, mas está em execução com o LibreMesh. No final, quando o rádio é acessado, o roteador trava e exibe esta mensagem no serial:
[ 170.973497] jffs2: Node CRC ffffffff != calculated CRC f09e7845 for node at 007e5098
[ 170.981767] jffs2: Node CRC ffffffff != calculated CRC f09e7845 for node at 007e5098
[ 170.989976] jffs2: Node CRC ffffffff != calculated CRC f09e7845 for node at 007e5098
[ 170.998244] jffs2: Node CRC ffffffff != calculated CRC f09e7845 for node at 007e5098
[ 171.006297] jffs2: Node CRC ffffffff != calculated CRC f09e7845 for node at 007e5098
[ 171.014288] jffs2: Node CRC ffffffff != calculated CRC f09e7845 for node at 007e5098
[ 171.022518] jffs2: Node CRC ffffffff != calculated CRC f09e7845 for node at 007e5098
[ 171.030505] jffs2: Node CRC ffffffff != calculated CRC f09e7845 for node at 007e5098
[ 171.038691] jffs2: Node CRC ffffffff != calculated CRC f09e7845 for node at 007e5098
[ 171.046727] jffs2: Node CRC ffffffff != calculated CRC f09e7845 for node at 007e5098
[ 171.060059] jffs2: Node CRC ffffffff != calculated CRC f09e7845 for node at 007e5098
-
Oficial Page - https://store.ui.com/us/en/products/loco5ac
-
Datasheet - https://dl.ubnt.com/datasheets/NanoStation_AC/NanoStation_AC_DS.pdf
-
Ref. 1 - https://openwrt.org/toh/ubiquiti/nanostation_ac_loco 2 - https://openwrt.org/toh/ubiquiti/common 3 - https://ui.com/download/airmax-ac 4 - https://massmesh.org/wiki/index.php?title=Ubiquiti_NanoStation_5AC_Loco 5 - https://forum.openwrt.org/t/install-openwrt-on-an-ubiquiti-nanostation-ac-loco/53574 6 - https://forum.openwrt.org/t/installing-openwrt-on-nanostation-5ac-loco/71035
Conclusão
O Tplink eap225 outdoor v3 e o cpe510 v3 funcionaram superbamente, alguns problemas relacionados a algumas questões em aberto no projeto libremesh já estão visíveis para serem corrigidos e devem ser ótimas opções para redes comunitárias em 2024. O loco ac Loco (e similares) e ax23 devem ser opções em breve assim que encontrarmos os problemas com esses erros. Não parece ser tão difícil uma vez que o firmware tenha sido gravado na memória do roteador e tenha concluído o processo de inicialização. Os erros encontrados serão relatados e ainda será necessário algum trabalho para resolvê-los.