Banana Pi R64 Le meilleur routeur pour OpenWrt, ou non?

image

Bonjour, je m'appelle Dmitry et aujourd'hui je vais passer en revue l'ordinateur monocarte Banana Pi R64. Nous apprendrons comment installer OpenWrt dessus et comment assembler le firmware de cet ordinateur lui-même.

Donc, sur Habré, il y a déjà un aperçu sur cet ordinateur ici, mais l'auteur utilise Armbian comme OS. J'ai essayé cet OS, ainsi que Debian, et suis arrivé à la conclusion qu'il n'y a pas de meilleur OS pour créer un routeur qu'OpenWrt, voici les raisons:

  1. Sur OpenWrt, le réseau est configuré automatiquement sans aucune implication de votre part. Sur Debian et Armbian, vous devez configurer le réseau vous-même, via les fichiers de configuration.
  2. L'interface Web OpenWrt est conçue pour la gestion des routeurs. Debian et Armbian ont également des interfaces Web (Webmin, etc.), mais elles sont conçues pour la gestion générale des serveurs.
  3. Parmi les avantages de Debian et d'Armbian, un système de fichiers plus simple peut être noté, qui est affiché tel quel. OpenWrt possède un système de fichiers très complexe. Composé de plusieurs points de montage, dont certains ont un attribut en lecture seule.

Comment installer openwrt


Ce manuel est extrait du forum officiel Banana PI: forum.banana-pi.org/c/Banana-Pi-BPI-R2 .

Pour installer OpenWrt, vous aurez besoin de:

  1. Carte Micro SD
  2. Câble Internet
  3. Adaptateur USB-Uart
  4. Diskimager Win32
  5. Serveur TFTP
  6. Mastic
  7. Image SD pour carte
  8. Image img que vous téléchargez dans la mémoire interne de l'appareil
  9. Le préchargeur nécessaire pour télécharger cette image

Procédure:

  1. Remplissez l'image SD sur la carte SD à l'aide de Win32 Diskimager
  2. Connectez l'adaptateur Usb-Uart aux contacts correspondants sur la carte (routeur tx - convertisseur rx, routeur rx - convertisseur tx, connectez la terre), allez dans Putty et connectez-vous au port Com, la vitesse de transfert de données est 115200. Vous pouvez voir de quel port Com vous avez besoin Le gestionnaire de périphériques est généralement COM4.
  3. Insérez la carte dans Banana PI et allumez-la.
  4. Dans le menu U-boot, sélectionnez 'b. System Load flashimage then write to Flash via TFTP '(le serveur TFTP doit être activé. Le fichier image doit être placé dans le même dossier que le serveur TFTP. Dans les paramètres de la carte réseau, vous devez spécifier l'adresse IP et la passerelle principale).
  5. Après le firmware, nous revenons au menu U-Boot avec la commande bootmenu et l'option '7. System Load Preloader puis écrivez sur Flash via TFTP 'remplissez le préchargeur (ce fichier doit également se trouver dans le dossier contenant le serveur TFTP).
  6. Nous redémarrons le routeur et voyons OpenWrt. Le menu U-boot est désormais disponible sans carte SD, il apparaîtra toujours pendant 3 secondes au démarrage.

Malheureusement, l'image que nous avons téléchargée sur l'appareil est très ancienne. Par conséquent, par exemple, vous ne pouvez pas y installer d'applications (packages) supplémentaires.

Où obtenir OpenWrt?


Je dois dire qu'au moment d'écrire ces lignes, il n'y a pas de version stable d'OpenWrt pour Bpi-R64. Il existe un support pour ce périphérique dans la branche de développement , mais pour le moment la compatibilité n'est pas complète. Autrement dit, vous pouvez charger l'image initramfs et cela fonctionnera. Mais cette image a été créée pour se familiariser avec OpenWrt, elle n'existe que dans la RAM et après le redémarrage de l'appareil, tous les paramètres et applications installés seront perdus. L'image sysupgrade ne fonctionne pas actuellement et si vous l'installez, l'appareil redémarrera simplement en permanence.

Par conséquent, la seule façon d'obtenir une image sysupgrade fonctionnelle est de la construire vous-même en utilisant les correctifs du forum officiel Banana PI.

J'ai déjà assemblé l'image OpenWrt du 16 avril 2020. Cette imageimage .

Il comprend:

  1. Transmission avec interface web
  2. Détails du pilote NTFS-3G ici
  3. Samba
  4. mc, nano, htop et autres utilitaires

Pour installer cette image, allez dans le menu U-boot et sélectionnez l'option: 2) System Load Linux Kernel puis écrivez sur Flash via TFTP.
Mais si vous souhaitez créer votre propre image, voici comment procéder.

Comment créer une image OpenWrt fonctionnelle


Le processus d'assemblage et de préparation étant très volumineux, je ne décrirai que les points principaux.

1) Pour construire, vous avez besoin d'une machine virtuelle et d'une image Linux. Comment les préparer et où les obtenir est décrit ici . Je veux noter que dans les paramètres de la machine virtuelle, assurez-vous de spécifier le nombre de cœurs de votre processeur (par défaut, il est de 1). Le processus d'assemblage du noyau est très long et sur un noyau, il sera encore plus long.

2) Après cela, vous devez télécharger la source depuis Git. La procédure à suivre est décrite ici . Il est nécessaire de s'arrêter à la commande make menuconfig

3) Allez dans le fichier openwrt / target / linux / mediatek / makefile et changez le numéro de noyau de 5.4 en 4.19. Il n'est actuellement pas possible de construire une image OpenWrt sur le noyau 5.4.

4) faites menuconfig sélectionner Target-> Mediatck Arm, Subtarget-> mt7622, ​​Profile-> Banana Pi R64. Vous pouvez également sélectionner les packages supplémentaires dont vous avez besoin. Ensuite, nous sortons avec conservation.

5) faire defconfig je ne sais pas pourquoi, mais ils font toujours cette commande.

6) faites kernel_menuconfig -j5 le nombre après j est calculé comme le nombre de cœurs de votre processeur plus un (j'ai un processeur à quatre cœurs).

7) Après une demi-heure d'attente, le menu de configuration du noyau apparaît ici, vous devez définir ces options:
"Pilotes de périphérique" -> "Prise en charge des périphériques de technologie de mémoire (MTD)" -> "Analyse de la table de partition de ligne de commande"
"Pilotes de périphérique" - > "Prise en charge des périphériques de technologie de mémoire (MTD)" "Pilotes de périphériques MTD autonomes" -> "MTD utilisant un périphérique bloc"
"Pilotes de périphérique" -> "Support de carte MMC / SD / SDIO" -> "Pilote de périphérique de bloc MMC"

8) Prenez ce patch et copiez-le ici: openwrt / target / linux / mediatek / patches-4.19. (Je tiens à noter que ce correctif a constamment causé des erreurs de compilation. Par conséquent, je viens de copier les lignes de celui-ci dans le fichier mt7622-bananapi-bpi-r64.dts qui se trouve ici: openwrt / linux / mediatek / files-4.19 / arch / arm64 / boot / dts / mediatek)

9) make -j5

10) Après la compilation, le fichier openwrt-mediatek-mt7622-bpi_bananapi-r64-squashfs-sysupgrade.bin que vous pouvez flasher via l'option du menu u-boot sera dans le dossier bin: 2) Chargez le noyau Linux puis écrivez dans Flash via TFTP.

Conclusion


Banana Pi est un appareil très controversé. La haute performance est combinée avec un support laid des développeurs. Il n'y a pas de firmware officiel, mais le support des développeurs tiers est moyen. Mais c'est toujours un routeur très puissant avec 5 ports gigabits, un gigaoctet de RAM et un processeur dual-core rapide. Autrement dit, il n'y a rien de tel que sur un routeur ordinaire, lorsque vous mettez Transsmison en téléchargement et que le routeur gonfle et grince comme s'il allait mourir. Ici, le fonctionnement de la transmission n'affecte pas la réactivité de l'appareil.

Il convient également de noter que l'appareil est vendu sans étui. Par conséquent, le corps devra le faire vous-même. Mais si vous avez une imprimante 3D alors ce n'est pas un problème voici ma version

PS Mise à jour du firmware ajoutée Qualité de service

05/07/2020 Une fois de plus mis à jour le firmware, ajouté ntfs-3g-low une implémentation plus rapide de ntfs.

PPS Mes petites observations: OpenWrt au redémarrage génère une nouvelle adresse MAC pour l'appareil. Et par exemple, mon modem qui est connecté au routeur, je dois également redémarrer si le routeur a été redémarré et Windows trouve un nouveau réseau (ce qui n'est pas critique mais ennuyeux). Tout cela est résolu en définissant une adresse MAC constante pour le wan et le lan.

Des dossiers


  1. Ma version du firmware
  2. Paramètres de configuration des menus de ma version
  3. Étui pour Banana Pi R64 sur thingiverse

All Articles