Leserartikel OpenWRT mit dem BananPi BPI-R3

Hallo Zusammen,

Ich wollte hier mal meine Erfahrungen mit dem BanaPi BPI-R3 zu Kunde tragen.



Inthaltsverzeichnis:​

  • Wer ist dieser Haldi überhaupt und was tut er da mit OpenWRT?
  • BananPi BPI-R3? Was ist das für ein Ding?
  • OpenWRT? Ist das nicht Offen und gut dokumentiert?
  • Ja funktioniert den nun alles?




Etwas über mich:​

Seit über 20 Jahren bastle ich nun an Computern rum. Hat mit Windows 3.11 angefangen und der schmerzhaften erfahrung das man nicht einfach so jeden Ordner löschen kann um mehr speicherplatz freizugeben. Ging über erste Overclocking versuche eines Pentium 4 von 1.5Ghz auf über 2.2ghz was komplett überhitzte und einen neuen Kühler benötigte. Mit fleissigen abstechern ins Gamen was gerade alles an aktuellen Spielen rauskommt, früher mit einem TripleMonitor Setup, heutzutage mit einem 32:9 Monitor. Aber nicht nur Computer sondern auch Smartphones wurden knallhart gefoltert. Meine Faszination mit Technik hat mich damals extra was nebenbei verdienen lassen um mir ein Sony S700i zu leisten welches eine 1.3Mpixel Kamera bot! Als dann endlich die Symbian smartphone am aussterben war und Android zum Zuge kam mit einem Sony X10i kamen auch Custom Kernel für Smartphones die es ermöglichen den CPU zu übertakten. Glücklicherweise waren die späteren Sony Smartphones Wasserfest das man sie Bedenkenlos im Eis eingefrieren konnte um mit dem übertakteten Kernel so höhere Benchmark werte zu erreichen. Good old times...
Jedenfalls kam mit der Mobilität eines Smartphones, bezahlbaren Mobilen Daten Abos, und dem HTPC am Fernseher langsam mal das bedürfnis eines Zentral gelegenen Always Online Datenspeicher. Ein NAS. Synology bot da dem unerfahrenen Nutzer die perfekten Ersten schritte wie man ganz leicht etwas einrichtet und Nutzt, und trotzdem gibt es im Internet so eine gewaltige Support Community die mit dem Linux unterbau und ein par wenigen handgriffen so ziemlich alles ermöglichen was man sich nur wünschen kann.
Als Script Kiddy hab ich bereits früher viel mit AutoIt rumgespielt, das es auch ein tolle Support Community hat und viele geniale vorlagen/beispiele bietet, vorwiegend für repetitive Automationen. In meinem falle war die Hauptverwendung wohl das Auslesen des Quelltext von Webseiten, filtern nach embeds, schön sortieren und ordnen und wieder einfügen. Neben noch vielen anderen kleinen helferlein tools die man halt so benötigt wenn man Windows normal benutzt.
Das einzige was glaubs heute immernoch im Einsatz ist, ist die IP Fernbedienung für meinen Denon AVR welcher am PC angeschlossen ist. CEC zum Starten mit dem PC zusammen hat da nie wirklich gut funktioniert. Nun kann ich via Tray icon einfach Lautstärke anpassen und Quelle wechseln. Aber zurück zum Thema NAS. Mit mühe und not hab ich mich eigentlich immer durch alles durchgebissen was interessant oder nützlich war, so zbsp auch ein python script names AirNef das automatisch sämtliche Fotos die auf der Sony oder Canon DSLR kamera gemacht wurden über das WLAN direkt auf das NAS hochgeladen haben. War eigentlich alles gut dokumentiert und theoretisch ganz einfach. Hat aber praktisch trotzdem ein par stolpersteine im weg gehabt die man als unwissender neuling natürlich alle genau trifft.
Nach ein par Jahren Nutzung wurde dann das Synology DS413j mit 512mb RAM und 1 Kern ARM prozessor doch ein wenig zu schwach und da sich der Rack Server HP 360 mit 2x 6 Kern, der mir ein Kollege zum rumspielen überlassen hat als er in der Bude ausgemustert wurde, nicht wirklich als NAS ersatz eignete, wurde es Zeit für neue Hardware. Nach einigen recherchen und viel überlegung hab ich mir dann ein HP Microserver Gen8 zugetan. Mit Celeron CPU Natürlich, alles andere war zu teuer.
Aber die war X86 und somit auch bestens gewapnet für das gross im kommende und langsam endlich gut genug dokumentierte "Docker". Nur weil ich in New York in einem Hostel da den Bezahlcomputer mit Münzeinwurf über mein Smartphone gebootet habe und Kali darauf lief, gibt da Kernel Modifikation die es erlaubt via USB ein Disc Image Bereit zu stellen das bootable ist, heisst das noch längst nicht das ich Ahnung habe was ich tue! Jedenfalls war ich Software mässig von Synology bereits so verwöhnt das ich es nicht sein lassen konnte ein Xpenology Mod darauf zu installieren. Ahja das HP ILO war auch ein Kaufgrund, fand ich auf dem Rack schon extrem praktisch, musste daher für ein NAS auch sein. Da Synology auf ihren x86 geräten auch Docker und Virtuelle Machinen bietet war die Software Grundlage dazu auch vorhanden. nach einigem einrichten, rumbasteln, CPU Upgrade auf alten Xeon E3 1265L der günstig als 2nd Hand kauf kam, lief soweit alles wie gewünscht das ich mich auf die Suche nach einem neuen Hobby machen musste. Glücklicherweise im Internet auf einen Artikel über Home Automation gestossen, welches mich als Kind bereits begeistert weil meine Eltern schon im 1998 ein Haus gebaut haben mit KNX Steuerung welches über einen 15" Touchscreen das Licht anschalten und die Storen hoch und runter fahren lässt, welcher günstige WLAN Sensoren für Raum temperatur messungen vorschlug. Somit ein ESP8266 mit DHT11 aka ESP01 Packet gekauft für weniger als 5.-. Was natürlich auch zur Folge hatte dass die ganzen Sensordaten irgendwo verstaut und präsentiert werden wollen. InfluxDB und Grafana got you covered! Neben den par Temperatursensoren die das alles angestossen haben sind noch einige weitere spielzeuge dazu gekommen, vorwiegend ESP32 basierend, Pflanzen Erdfeuchte Sensoren welche mal hätten eine 5V Pumpe Steuern sollen die automatisch bewässer aus einem Tank. Wurde dann aber nie wirklich was draus^^ gibts nun als Fertigprodukt auf Aliexpress für 15$.... sollte ich mir evtl noch kaufen das es vor Sommer hier ist, damit Topf mit Schnittlauch, Thymian und Pfefferminze nicht gleich wieder verdörrt... Aber egal... jedenfalls hab ich mal über 40 dieser Sensoren beim Kollegen in ner Hanf Plantage verbaut mit nem RaspberryPi als Server zum sicher zu stellen das auch jedes Pflänzchen genügend Wasser bekommt für eine gute Ernte^^. Daneben einige MHZ-19 und BME680 sensoren zum testen der Luftgüte. Ganz ein haufen E-Paper Displays von 2.9", 4.9" bis 7.5" die mit der Zeit endlich Bezahlbar wurden. Leider ist das GUI erstellen immernoch ein absoluter Krampf, wovon ausser meiner modifzierten Wetterdarstellung kaum was im Betireb ist. Aber wie sagt man doch so schön? "Haben ist besser als Brauchen!" Darum kauf ich auch fleissig Spielzeugs nach sobald es etwas neues tolles gibt. Unter anderem war mal der Plan eine Webcam auf die Einfahrt zu richten mit ner ALPR Software im hintergrund die automatisch das Garagentor öffnet wenn ich hochzufahren komme. Blöderweise war die gekaufte Solarzelle mit 18650 akkus viel zu schwach die Kamera zu betreiben.... und die Software dazu gemäss Forum auch eine gewaltige PITA einzurichten und das Projekt ist versandet. Kann das Tor trotzdem vom Smartphone aus über VPN öffnen und Schliessen. Mit Statusanzeige obs auf und zu war und verlauf wann welcher Status war.
Jedenfalls habe ich genügend Sensoren hier die 24/7 Werte senden das ich zwingend ein always Online gerät brauche. Da ich aber nicht alle ongoing Animes gucke benötige ich keine Download Station die alle 5 Minuten RSS Feeds abklappert und die neusten Episoden runter lädt und auch seltenst mehr meine Filmesammlung benötige hab ich mir überlegt das NAS mit den 4 Festplatten und der fetten CPU öfters mal abzuschalten. Besonders bei der aktuellen Stromsituation. Da ich aber immernoch ein always Online device benötige für meine Datenbank hab ich mir überlegt den Raspberry Pi 4 mit Touchscreen der in der Ecke liegt dafür zu verwenden.... aber ein Gerät abzuschalten nur um ein anderes dafür anzuschalten war irgendwie nicht so ganz Gewissenserfüllend.
Da ich mich bereits eine weile über das miese 2.4Ghz meines Netgear R6400 Routers aufgeregt habe, welcher übrigens auch mit Custom Firmware, Fresh Tomato, betrieben wird, wollte ich diesen eigentlich schon lagne ersetzen. Leider war gemäss vielen profesionellen tests der R6400 einer der Router mit dem besten WLAN....
Bis ich dann irgendwo per Zufall über den BananPi BPI-R3 gestossen bin. Die möglichkeit in OpenWRT Docker container zu benutzen hat mich dann komplett überzeugt das ich sowas unbedingt brauche, und wenn nicht erfoglreich brauche, dann zumindest unbedingt haben muss.

Und somit sind wir beim nächsten Kapitel angekommen. Die Hardware.
Kudos wer bis jetzt alles durchgelesen hat.... ist doch irgendwie ein wenig mehr geworden als geplant. Evtl sollte ich das alles in einen Spoiler packen?



Die Hardware:​

Der BananaPi BPI-R3 Ist ein Router / Dev Board von SinoVoip / BananaPi aus China mit einem MediaTek MT7986 CPU aka Filogic830 mit der ganzen Netzwerk Unterstützung dazu. Dank 2GB RAM und 8gb eMMC Flash mit den 4 Cortex A53 kernen sollte er genügend Leistung haben auch als minimales NAS zu dienen. Mit dem schlichten Blechgehäuse sieht er sogar ganz annehmlich aus.

In Freier Wildbahn bei meiner Wenigkeit





Hardware
Specification of Banana pi BPI-R3
CPU MediaTek MT7986(Filogic 830) Quad core ARM Cortex A53+MT7531 chip design
SDRAM 2 GB LPDDR3
On board Storage MicroSD (TF) card,8GB eMMC onboard
GPIO 26 Pin GPIO,some of which can be used for specific functions including UART, I2C, SPI, PWM, I2S.
On board Network 5 Port 10/100/1000Mbps Ethernet
SFP 2 SFP 2.5GbE
Wifi Wifi 6/6E 4x4 2.4G Wifi(MT7975N) +4x4 5G Wifi(MT7975P)
mini PCIE Mini PCIe via USB
M.2 interface M.2 KEY-E PCIe inerface
USB 1 USB 3.0 host ,2 USB interface with slot.
Buttons Reset button,WPS button, boot switch
Leds Power status Led and RJ45 Led
DC Power 12V/2A with DC in
Sizes 100.5x148mm
Weight 200g

Gründe wieso er micht überzeugt hat:​

Nun als Development Board bietet es 4 Boot möglichkeiten. Im Aktiven Betrieb sind aber nur die 8GB eMMC Nützlich.
  • direkt ab MicroSD Karte
  • 32Mb NOR
  • 128Mb NAND
  • 8GB eMMC Flash
Aber dank dem 8GB Speicher ist es problemlos möglich alles was man sich nur irgendwie vorstellen könnte zu installieren. Webserver? Datenbanken? was braucht da schon 8GB? ABER... jetzt kommts.... es hat noch einen NVME Slot! Man lasse sich diese Bild nur mal auf der Zunge vergehen. (ja Okay die 850 Black ist kompletter Overkill... da täte es sogar eine QLC SSD)
1675718339423.png


Jedenfalls ist somit der Betrieb als NAS welches als Datenbanken server und Musikstreamer gesichert. Sogar Jellyfin lies sich erfolgreich installieren und streamt einen 1080p film ohne transcoding problemlos. (auch 4k Filme wenn man sie im VLC Player abspielt und nicht über das Web Interface)

Ein weiteres Plus ist neben den 4 Gbits LAN Ports die über den MT7531AE Chip verwaltet werden die beiden SFP anschlüsse.
Zwar nur 2.5Gbits und nicht 5 oder 10.... aber das ist schon mal wesentlich moderner als viele andere Router. (Hier ein test Direktanschluss an meinem Asus X570-E Mainboard)

Richtig toll sind natürlich auch die 4x 2.4Ghz und 4x 5Ghz WLAN Antennen, die Tatsächlich nach 3 Wänden noch eine bessere Restärke übrig lassen als der alte Netgear R6400. Getestet mit einem Samsung Galaxy Tab S7+ komme ich da auf rund 600Mbit/s in umgehender Nähe im 5Ghz Netz. 2.4Ghz kommt auch auf Solide 150Mbits. Aber eben auch im hintersten Ecken noch knappe 100Mbits wo voher kaum mal 20-30Mbits ankamen.

Nun bleibt aber noch die Frage offen. Ist der Router denn überhaupt sparsamer? Dazu gleich mal mein 12V PSU hervorgekramt und gemessen was so der normale verbrauch ist.
1675719642534.png

1675719656799.png


Im Idle ohne gross last rund 5.28W Sofern WLAN so richtig beansprucht wird springt das auch mal bis zu 11W hoch.
1675719771489.png


Die ganzen versuche über das Kabel oder sogar via SFP Anschluss 2.5Gbits Verbrauch zu erzeugen sind gescheitert. 7.2W waren das höchste der gefühle. Selbst mit CPU voll auslasten ist er kaum darüber gekommen. Mehr dazu zu lesen hier.

Das Problem an der ganzen Geschichte war aber das Mitgelieferte 12V Netzteil. Das war richtige Grütze. Lief zwar aber hat dauerhaft so nen richtig hohen pfeifton von sich gegeben. habs darum in die Tonne geschmissen und einfach ein QuickCharge 3.0 Kompatibles Handy Ladegerät das ich über hatte verwendet und ein USB-DC Jack Adapter Kabel das dank Chip 12V forciert verwendet. Das läuft einwandfrei, und wenn nicht ist es innert minuten ersetzt.

Somit haben wir eigentlich alles zum Thema Hardware besprochen was interessant und Hilfreich ist.
Ich hab im Forum von Personen gelesen das sie via GPIO Pins ein kleines Display angeschlossen haben zur darstellung von Informationen.... Coole Sache, aber ich persönlich würde sowas wohl eher via externem ESP32 mit Display realisieren. Says biased me.
Aber hey, par GPIO ports können auf jedenfall nicht schaden!

Weiter gehts zum Thema Software und OpenWRT.



Die Software:​

OpenWRT Image auf MicroSD Karte gebrannt. Eingesteckt. und es Lief.
1675720759231.png

1675720816790.png


OpenWRT:​

Kurz vorab, was ist OpenWRT? Openwrt ist ein Open Source Linux basiertes Betriebsystem das für embedded devices optimiert wurde und meist als Router oder Hotspot funktioniert (auch x86 Kompatibel...). Dank OKPG unterstützung kann man einfach via 1 click jegliche software nachinstallieren die man benötigt.
Open Source? Was bedeutet das?
Da jeder den Quellcode einsehen kann darf auch jeder Modifikationen daran vornehmen. Sofern etwas richtig gutes entwickelt wurde wird es meistens auch offiziell übernommen und alle profitieren davon. Wenn irgend etwas nicht so funktioniert wie man sich das vorstellt kann man einfach die Software umschreiben damit sie es tut.
Open Source? Was bedeutet das?
Da niemand verantwortlich ist und alles auf freiwilliger Basis entsteht hast du keine Garantie das es läuft, und schon gar nicht das es korrekt läuft. Wenn dein Lieblingspaket das letzte mal vor 6 jahren aktualisiert wurde und mit einem neuen Kernel nicht kompatibel ist? Pech gehabt. Entweder du änderst es selbst oder lässt es sein.

BananaPi Builds:​

Und das ist auch schon mal ein Minuspunkt für den BananaPi. Wir Sprechen hier nicht von einem Turris Router der die Software selbst angepasst hat damit alles perfekt läuft, sondern von einer Chinese Firma die ein Initial Build veröffentlicht hat der Stabil läuft.
Bei OpenWRT, muss man verstehen, gibt es 2 Kategorien der Software. Einerseits die Releases, aktuell gerade v.22.03.3 welche veröffentlicht werden wenn alles getestet wurde und stabil läuft. Diese werden dann als Firmware Image pro Gerät zur verfügung gestellt. Davon gibts alle par Wochen/Monate dann mal ein Update.
Und dann gibt es die Snapshots. Ein Snapshot ist sozusagen ein "Nightly Build" der zwar immer das neuste und beste bietet, aber nicht ausgiebig getestet wurde. Auch ist nur das allernötigste vorinstalliert. Das Webinterface, mit dem namen LuCI, zbsp. nicht.
Hier kommt der Hase ins Spiel.
BananaPi BPI-R3 kommt mit OpenWRT vorinstalliert! ABER... das ist ein alter Build von SinoVoip.
Der erste Build stammt vom 01.06.2022. Am 28.09.2022 gabes dann ein Update.
Und genau da liegt der Hase begraben. (Würde ja eigentlich Hund schreiben aber da ich vorhin bereits Hase erwähnt habe muss man ja konstant bleiben...)
Später wurde es in vanilla Openwrt übernommen (info am Rande, Vanilla ist hier nicht die Geschmacks sorte sondern ein Begriff der darauf deutet das es "Original" und ohne "Modifikationen" ist. Also am schnellsten Updates bekommt) was aber zur Folge hatte das die Update kompabilität nicht mehr gewährleistet wurde. Inzwischen ist empfohlen die Snapshot Builds direkt von OpenWRT zu nutzen und nicht die alten SinoVoip builds die vorinstalliert kommen.

OpenWRT Builds:​

hier kommt auch schon die erste Schwachstelle der Hardware zum vorschein.
Da es 4 verschiedene Möglichkeiten gibt das Gerät zu Booten (USB Gehört nicht dazu!) via Hardware Switches auf der Seite, muss zwingend eine MicroSD Karte mit dem Image "bananapi_bpi-r3-sdcard.img.gz" gebrannt werden.
1675800816013.png

Vorteil davon, wie oben beschildert, MicroSD Karte rein, Boot von MicroSD Karte, es läuft!
Aber wir sind hier ja keine Rapsberry Plebians die ihr Betriebsystem auf einer MicroSD karte haben wollen haben schliesslich auch für die 8gb eMMC bezahlt.
Nachteil an der geschichte? MicroSD Karte und eMMC Slot benötigen den gleichen anschluss am Mainboard... es ist also NICHT möglich beides Zeitgleich zu betreiben....
Somit ist es auch NICHT Möglich von der MicroSD Karte das Betriebsystem auf den eMMC zu schreiben! Dazu muss der Umweg über NAND oder NOR flash gemacht werden.
Wie macht man das? Ha ganz einfach! Blos via Konsole ein par Befehle eintippen das beim Nächsten Booten anstatt das system gebootet wird es sich auf den anderen Speicher schreibt. Oder man kann es auch so wie ein richtiger noob im laufenden Betrieb via TTL adapter und Konsole machen, so wie ich das gemacht hab. Das sieht dan etwa SO aus.
1675801564594.png

Also muss man das ganze kurz von MicroSD Karte auf NAND, dann vom NAND auf eMMC flashen.
natürlich muss jedes mal dazwischen vor dem reboot die blauen Boot Jumper da umgestellt werden.

Hat man also endlich den gewünschten Build auf dem eMMC damit man mit der Konfiguration loslegen kann gibt es nur noch ein par klitze kleine Problemchen.
Es ist ein Router! Standard IP ist 192.168.1.1 Wer aber bereits einen anderen Router im System hat wird diese IP vielleicht schon belegt haben. Einfachste möglichkeit ist nun das ding Nicht ins Netzwerk sondern direkt an einen PC zu schliessen, ODER den WLAN Hotspot zu verwenden. Dann kann man via SSH darauf zugreifen und die IP mit diesem Befehl ändern:
Code:
uci set network.lan.ipaddr="192.1681.5"
uci commit network
/etc/init.d/network restart
Als richtiger Geek hat man sowieso noch den USB-TTL adapter angeschlossen und kann auch direkt darüber den befehl eintippen ;)
Danach sollte man nicht den WAN sondern den LAN anschluss verwenden und kann den Router nun mit anderen Geräten im Netzwerk betreiben.
Damit das ganze einrichten bequemer geht ist das Web Interface definitiv von Vorteil. Aber wie bei den Snapshot Builds bereits erwähnt wird dies nicht mitgeliefert. (Was auch der Grund ist wieso man via SSH auf das Gerät muss um die IP zu konfigurieren.... einfach so mal kurz Web Interface gehen und IP ändern is nich....)
Code:
opkg update
opkg install luci
Glücklicherweise geht das recht fix mit 2 Zeilen Code.
Danach wird man vom Overview begrüsst.
1675802457224.png



Hier in meinem falle sieht man die aktuelle Build version r21995.
Und schon kommt der nächste Rant bezüglich Updates....
OpenWRT ist OpenSource! Das ist super und toll.... ABER.... wo es verschiedene Meinungen gibt, gibt es keine perfekten Lösungen.
Es gibt 3-5 verschiedene möglichkeiten OpenWRT zu aktualisieren. Einige sind älter, andere neuer, manche funktionieren gar nicht mehr....
Ich kann euch hier sagen für den BananPi BPI-R3 ist die empfohlene methode das "Attended Sysupgrade" Das funktioniert einwandfrei mit 2-3 clicks im Web Interface und übernimmt alle Einstellungen... alle Einstellungen? Nein ein kleines dorf unbeugsamer Gallier wehrt sich stetig der Übernahme.... moment falsche Geschichte... Zurück zum Thema.

Nun haben wir im prinzip also ein Grundgerüst des Routers, das sich Updaten lässt und somit alles bietet.... oder?
Beinahe! Die Default konfiguration war zu meinem Zeitpunkt noch nicht perfekt und somit war nur 104MB als Freier Speicher verfügbar. Moment? Sollte das nicht 8GB sein?
Jaein! Die System Partition welche ins /overlay eingebunden wird sollte NICHT grösser als der RAM sein damit das SysUpgrade problemlos funktioniert. Stört das? Wohl kaum! Die meisten Router haben nur 128MB ROM, und die Restlichen 6GB können separat gemounted werden.
Das ganz einfache frische erstellen einer zusatz partition und diese separat zu mounten hat mich nur rund 5 Tage gekostet... Ich hoffe das es inzwischen angepasst wurde und von Haus aus mehr ist. hat der Maintainer (Der Typ der die Haupt entwicklungsarbeit für ein gerät Leistet) jedenfalls mal gesagt das er es vergrössern würde.


Also... haben wir also nun endlich einen Router, der im Netzwerk läuft, der sich Upgraden lässt, der genügend Speicher hat auch ordentliche Packages zu installiern.... yay!
Also.... jetzt nur für den Fall... der Fall der Fälle.... der eigentlich nie eintreffen sollte... das man einen USB Stick am Router anschliessen möche. Dann passiert einfach nichts. Damit die USB Sticks gelesen werden können wird erst mal unterstützung für... NTFS, ExFat oder Fat32 benötigt, je nach dem was der Stick hat. Danach benötigt man ein spezielles Block-Mount tool um den USB stick überhaupt zu Mounten. Und wenn man das ganze jetzt noch übers Netzwerk erreichen möchte muss man dazu noch den Samba4 Server einrichten, einen Ordner Freigeben und den /dev/sda USB Stick dorthin mounten.

Aber lassen wir das mit dem USB Stick mal USB Stick sein und kümmern uns um die wirklich wichtigen Sachen.
Den Docker Host! Nun Jeder vernünftige Mensch der so viel Leistung hat nebenbei noch Docker betreiben zu können würde einfach ein anderes Host OS verwenden und dann OpenWRT in einem Docker.... darum freut sich das ganze keiner sonderlich grosser beliebtheit in der Community.
So ist zbsp ein Problem dass das Web Interface des offziellen luci-app-dockermann v0.5.13-20230114 nicht erreichbar ist.
Abhilft schaft ein kommentar auf Github der anrät die v0.5.25 version zu nutzen. Dies wird aber nach JEDEM SysUpgrade wieder Ersetzt und muss manuell installiert werden. Glücklicherweise betrifft das NUR das Web interface, die Docker Container dahinter laufen weiter.
1675805156712.png

1675805255442.png



Ein weiteres Must have, IMHO, ist Wireguard. Damit man von Extern via VPN auch auf das Heimnetzwerk zugreifen kann.
Das Einrichten ist "eigentlich" ganz einfach, wenn man weiss was man tut. In meinem Falle habe ich nur rund 3 Stunden rumgeflucht bis endlich alles geloffen ist. Und das mit QR Code der die ganzen Settings aufs Smartphone übernimmt.
Eigentlich gäbs dazu ja so tolle Scripts, aber ich denke die wurden nur benutzt bevor es das Webinterface dazu gab.
Sofern euch WG-Easy bekannt ist... SOWAS BITTE ALS OPKG!!! (Nur für den fall dass dies mal ein OpenWRT Enthusiast liest der öfters Wireguard nutzt und zu viel Freizeit hat)


So... das wars erst mal für Heute....
Sofern mir morgen mehr dazu einfällt werde ich es erweitern.
Ansonsten gibts in 3-6 Wochen dann mal ein "Dauerhaft im Einsatz Fazit" dazu :)
Hasta la Vista!

P.S bester Graph ever!
1675806142833.png




Fazit:​

Preis / Leistung des gerätes ist TOP. jedenfalls wenn man ihn für 90.- bei Aliexpress kauft und nicht für 180.- bei Conrad.
Aber selbst dann ist ein Router mit gleicher Spezifikationen in den meisten fällen teurer.
Dafür muss man sich halt bei der ersten Installation mit OpenWRT rumschlagen. Sobald aber mal alles läuft ist ein Router eigentlich ein Gerät das in der Ecke steht und vergessen wird solange alles läuft.
Sofern ihr noch nie mit OpenWRT zu tun gehabt habt, und auch sonst nich viel mit Linux am Hut habt kann ich nur sagen: "Prepare for trouble, and make it double!" Wer bereits öfters OpenWRT aufgesetzt hat oder ein NAS auf TrueNAS / OMV betreibt für den ist das natürlich aus dem ärmel geschüttelt.

Für mich war der ersatz meines alten Routers sowieso mal notwendig und die ganzen zusatz funktionen nur ein Bonus dazu.
Sozusagen ein Spielzeug für wenn einem Langweilig wird.

Und das ist wohl auch genau die Zielgruppe die BananaPi anzusprechen versucht. Das ding wird nicht für Enduser vermarktet sondern für die Bastler.


Alles in allem hatte ich bis jetzt mit dem Gerät viel aufwand und tolle unterhaltung.
Kann es aber wirklich nur an Bastler weiter empfehlen! Wer einfach nur ein Modem sucht das funktioniert ist hier vielleicht am falschen platz.
 
Zuletzt bearbeitet: (Teil 2: Die Software: added)
  • Gefällt mir
Reaktionen: Crisser67, JustAnotherTux, matthias3000 und 30 andere
Ich hab auch gerade gesehen, dass der Nachfolger für den gleich Preis verfügbar ist. Anscheinend sogar schon mit WLan 7.
 
Mein Fehler, ich hatte nicht auf dem Schirm, dass man da jetzt ein extra Board braucht. Bei amazon hab ich nur Wlan7 gelesen und war wegen dem Preis verwundert.
 
So, vielleicht auch von mir mal ein Fazit zum Banana PI R-3 nach einiger Zeit im Betrieb.

Ich hab mein Exemplar über AliExpress bestellt und aus Versehen das falsche Bundle gewählt, musste also noch ein paar Kleinteile nachbestellen. Das kann ich aber nicht dem Gerät anlasten, denn wer lesen kann ist klar im Vorteil. Das Gerät kam unbeschadet innerhalb des angegebenen Lieferzeitraums bei mir an.

Wie hab ich es in Gang gesetzt? Mit OpenWRT auf SD-Karte. Das SD-Karten Image hab ich mir bisher immer über den Firmware-Selektor gezogen. Dort kann man auch gleich weitere Pakete angeben die man gerne ab Werk haben möchte. Ich ergänze die Liste immer um:​
  • ds-lite --> benötige ich für meinen Vodafone West Kabelanschluss, da ich kein Dual Stack habe (werde mir auch nicht die Mühe machen mir das schalten zu lassen, da ich keine Nachteile habe)
  • ip-full --> benötige ich aufgrund eines ARP-Bugs meines Kabelmodems, mithilfe des Paketes kann ich OpenWRT manuell die MAC-Adresse meines Modems nennen
  • luci-app-sqm --> Smart Queue Management, benötigt man z.B. um Bufferbloat Probleme zu behandeln
  • Aufgrund von SFP Modul Experimenten:
    • mdio-tools
    • ethtool-full
Solange eine Internetverbindung besteht, kann man sich die ganzen Pakete auch nachträglich installieren, auch über die Weboberfläche Luci. Beim ersten Start gehe ich dann in Luci zu Network > Interface und editiere das wan-Interface (IPv4) um bring up on boot zu deaktivieren.​
1714905634890.png

Nach speichern der Änderungen starte ich das wan6-Interface (IPv6) dann neu und über das ds-lite Package wird dann automatisch ein neues wan6_4-Interface (IPv4 via IPv6) angelegt und läuft. Wenn ich zwischen Snapshot und Stable OpenWRT wechsele muss ich lustigerweise mein Modem neustarten, da der Router dann scheinbar als neues Gerät interpretiert wird und keine Adresszuteilung erfolgt.​
1714907804494.png


So, nun habe ich neulich auch ein 2,5 GBit/s RJ45-SFP Modul in Betrieb nehmen wollen, was dank "falschem" Modul nicht ganz so einfach war. Ich musste mir also OpenWRT selbst kompilieren, da ich vermutlich einen testing-Kernel und einen Patch benötige, der es noch nicht in den offiziellen Quellcode geschafft hat. Und das war eine unnötige Plackerei. Den hilfreichen Tipp habe ich dann zufällig im OpenWRT Forum gefunden, der da besagte, man solle sich nicht wie im Wiki beschrieben die Standard-.config herunterladen und anpassen, sondern selbst eine über make menuconfig erstellen. Wenn man die Standard-.config nutzt hagelt es Compile-Fehler, teilweise von Paketen die für den Banana-PI R3 gar nicht benötigt werden, was am Ende des Tages ziemlich frustriert. Der Compile Vorgang bricht nach zwei Stunden ab und dann macht man sich auf die Suche nach einer Lösung. Hätte ich den Tipp im OpenWRT-Forum früher gefunden, hätte ich wahrscheinlich nur einen Tag statt zwei Wochen gebraucht das Modul ans laufen zu bekommen. Ohne die Standard-.config ist der Compile-Vorgang bei mir nämlich in knapp 20min erledigt. Ein OpenWRT Snapshot mit 6.6er Kernel bekomme ich nun mit folgender Config fehlerfrei kompiliert:​
CONFIG_MODULES=y
CONFIG_HAVE_DOT_CONFIG=y
CONFIG_HOST_OS_LINUX=y
CONFIG_TARGET_mediatek=y
CONFIG_TARGET_mediatek_filogic=y
CONFIG_TARGET_mediatek_filogic_DEVICE_bananapi_bpi-r3=y
CONFIG_HAS_SUBTARGETS=y
CONFIG_HAS_DEVICES=y
CONFIG_TARGET_BOARD="mediatek"
CONFIG_TARGET_SUBTARGET="filogic"
CONFIG_TARGET_PROFILE="DEVICE_bananapi_bpi-r3"
CONFIG_TARGET_ARCH_PACKAGES="aarch64_cortex-a53"
CONFIG_DEFAULT_TARGET_OPTIMIZATION="-Os -pipe -mcpu=cortex-a53"
CONFIG_CPU_TYPE="cortex-a53"
CONFIG_LINUX_6_6=y
CONFIG_DEFAULT_base-files=y
CONFIG_DEFAULT_busybox=y
CONFIG_DEFAULT_ca-bundle=y
CONFIG_DEFAULT_dnsmasq=y
CONFIG_DEFAULT_dropbear=y
CONFIG_DEFAULT_e2fsprogs=y
CONFIG_DEFAULT_f2fsck=y
CONFIG_DEFAULT_firewall4=y
CONFIG_DEFAULT_fitblk=y
CONFIG_DEFAULT_fstools=y
CONFIG_DEFAULT_iwinfo=y
CONFIG_DEFAULT_kmod-crypto-hw-safexcel=y
CONFIG_DEFAULT_kmod-gpio-button-hotplug=y
CONFIG_DEFAULT_kmod-hwmon-pwmfan=y
CONFIG_DEFAULT_kmod-i2c-gpio=y
CONFIG_DEFAULT_kmod-leds-gpio=y
CONFIG_DEFAULT_kmod-mt7915e=y
CONFIG_DEFAULT_kmod-mt7986-firmware=y
CONFIG_DEFAULT_kmod-nft-offload=y
CONFIG_DEFAULT_kmod-phy-aquantia=y
CONFIG_DEFAULT_kmod-sfp=y
CONFIG_DEFAULT_kmod-usb3=y
CONFIG_DEFAULT_libc=y
CONFIG_DEFAULT_libgcc=y
CONFIG_DEFAULT_libustream-mbedtls=y
CONFIG_DEFAULT_logd=y
CONFIG_DEFAULT_mkf2fs=y
CONFIG_DEFAULT_mt7986-wo-firmware=y
CONFIG_DEFAULT_mtd=y
CONFIG_DEFAULT_netifd=y
CONFIG_DEFAULT_nftables=y
CONFIG_DEFAULT_odhcp6c=y
CONFIG_DEFAULT_odhcpd-ipv6only=y
CONFIG_DEFAULT_opkg=y
CONFIG_DEFAULT_ppp=y
CONFIG_DEFAULT_ppp-mod-pppoe=y
CONFIG_DEFAULT_procd=y
CONFIG_DEFAULT_procd-ujail=y
CONFIG_DEFAULT_uboot-envtools=y
CONFIG_DEFAULT_uci=y
CONFIG_DEFAULT_uclient-fetch=y
CONFIG_DEFAULT_urandom-seed=y
CONFIG_DEFAULT_urngd=y
CONFIG_DEFAULT_wpad-basic-mbedtls=y
CONFIG_HAS_TESTING_KERNEL=y
CONFIG_HAS_FPU=y
CONFIG_HAS_DT_OVERLAY_SUPPORT=y
CONFIG_AUDIO_SUPPORT=y
CONFIG_GPIO_SUPPORT=y
CONFIG_PCI_SUPPORT=y
CONFIG_PCIE_SUPPORT=y
CONFIG_USB_SUPPORT=y
CONFIG_RTC_SUPPORT=y
CONFIG_USES_DEVICETREE=y
CONFIG_USES_INITRAMFS=y
CONFIG_USES_SEPARATE_INITRAMFS=y
CONFIG_USES_SQUASHFS=y
CONFIG_EMMC_SUPPORT=y
CONFIG_NAND_SUPPORT=y
CONFIG_ARCH_64BIT=y
CONFIG_USES_ROOTFS_PART=y
CONFIG_aarch64=y
CONFIG_ARCH="aarch64"
CONFIG_TARGET_ROOTFS_INITRAMFS=y
CONFIG_TARGET_INITRAMFS_COMPRESSION_XZ=y
CONFIG_EXTERNAL_CPIO=""
CONFIG_TARGET_ROOTFS_INITRAMFS_SEPARATE=y
CONFIG_TARGET_ROOTFS_SQUASHFS=y
CONFIG_TARGET_SQUASHFS_BLOCK_SIZE=256
CONFIG_TARGET_UBIFS_FREE_SPACE_FIXUP=y
CONFIG_TARGET_UBIFS_JOURNAL_SIZE=""
CONFIG_TARGET_ROOTFS_PARTSIZE=104
CONFIG_JSON_OVERVIEW_IMAGE_INFO=y
CONFIG_SIGNED_PACKAGES=y
CONFIG_SIGNATURE_CHECK=y
CONFIG_DOWNLOAD_CHECK_CERTIFICATE=y
CONFIG_TESTING_KERNEL=y
CONFIG_SHADOW_PASSWORDS=y
CONFIG_KERNEL_BUILD_USER=""
CONFIG_KERNEL_BUILD_DOMAIN=""
CONFIG_KERNEL_PRINTK=y
CONFIG_KERNEL_SWAP=y
CONFIG_KERNEL_DEBUG_FS=y
CONFIG_KERNEL_KALLSYMS=y
CONFIG_KERNEL_DEBUG_KERNEL=y
CONFIG_KERNEL_DEBUG_INFO=y
CONFIG_KERNEL_DEBUG_INFO_REDUCED=y
CONFIG_KERNEL_FRAME_WARN=2048
CONFIG_KERNEL_AIO=y
CONFIG_KERNEL_IO_URING=y
CONFIG_KERNEL_FHANDLE=y
CONFIG_KERNEL_FANOTIFY=y
CONFIG_KERNEL_MAGIC_SYSRQ=y
CONFIG_KERNEL_COREDUMP=y
CONFIG_KERNEL_ELF_CORE=y
CONFIG_KERNEL_PRINTK_TIME=y
CONFIG_KERNEL_RELAY=y
CONFIG_KERNEL_KEYS=y
CONFIG_KERNEL_CGROUPS=y
CONFIG_KERNEL_FREEZER=y
CONFIG_KERNEL_CGROUP_PIDS=y
CONFIG_KERNEL_CGROUP_RDMA=y
CONFIG_KERNEL_CGROUP_BPF=y
CONFIG_KERNEL_CPUSETS=y
CONFIG_KERNEL_CGROUP_CPUACCT=y
CONFIG_KERNEL_RESOURCE_COUNTERS=y
CONFIG_KERNEL_MM_OWNER=y
CONFIG_KERNEL_MEMCG=y
CONFIG_KERNEL_MEMCG_SWAP=y
CONFIG_KERNEL_MEMCG_KMEM=y
CONFIG_KERNEL_CGROUP_SCHED=y
CONFIG_KERNEL_FAIR_GROUP_SCHED=y
CONFIG_KERNEL_CFS_BANDWIDTH=y
CONFIG_KERNEL_RT_GROUP_SCHED=y
CONFIG_KERNEL_BLK_CGROUP=y
CONFIG_KERNEL_BLK_DEV_THROTTLING=y
CONFIG_KERNEL_NAMESPACES=y
CONFIG_KERNEL_UTS_NS=y
CONFIG_KERNEL_IPC_NS=y
CONFIG_KERNEL_USER_NS=y
CONFIG_KERNEL_PID_NS=y
CONFIG_KERNEL_NET_NS=y
CONFIG_KERNEL_DEVPTS_MULTIPLE_INSTANCES=y
CONFIG_KERNEL_POSIX_MQUEUE=y
CONFIG_KERNEL_SECCOMP_FILTER=y
CONFIG_KERNEL_SECCOMP=y
CONFIG_KERNEL_IP_MROUTE=y
CONFIG_KERNEL_IP_MROUTE_MULTIPLE_TABLES=y
CONFIG_KERNEL_IP_PIMSM_V1=y
CONFIG_KERNEL_IP_PIMSM_V2=y
CONFIG_KERNEL_IPV6=y
CONFIG_KERNEL_IPV6_MULTIPLE_TABLES=y
CONFIG_KERNEL_IPV6_SUBTREES=y
CONFIG_KERNEL_IPV6_MROUTE=y
CONFIG_KERNEL_IPV6_MROUTE_MULTIPLE_TABLES=y
CONFIG_KERNEL_IPV6_PIMSM_V2=y
CONFIG_KERNEL_IPV6_SEG6_LWTUNNEL=y
CONFIG_KERNEL_PAGE_POOL=y
CONFIG_KERNEL_SQUASHFS_FRAGMENT_CACHE_SIZE=3
CONFIG_KERNEL_CC_OPTIMIZE_FOR_PERFORMANCE=y
CONFIG_KERNEL_WERROR=y
CONFIG_MOLD=y
CONFIG_IPV6=y
CONFIG_USE_SSTRIP=y
CONFIG_SSTRIP_DISCARD_TRAILING_ZEROES=y
CONFIG_PKG_CHECK_FORMAT_SECURITY=y
CONFIG_PKG_ASLR_PIE_REGULAR=y
CONFIG_PKG_CC_STACKPROTECTOR_REGULAR=y
CONFIG_KERNEL_CC_STACKPROTECTOR_REGULAR=y
CONFIG_KERNEL_STACKPROTECTOR=y
CONFIG_PKG_FORTIFY_SOURCE_1=y
CONFIG_PKG_RELRO_FULL=y
CONFIG_SECCOMP=y
CONFIG_BINARY_FOLDER=""
CONFIG_DOWNLOAD_TOOL_CUSTOM=""
CONFIG_DOWNLOAD_FOLDER=""
CONFIG_LOCALMIRROR=""
CONFIG_AUTOREBUILD=y
CONFIG_BUILD_SUFFIX=""
CONFIG_TARGET_ROOTFS_DIR=""
CONFIG_CCACHE_DIR=""
CONFIG_KERNEL_CFLAGS=""
CONFIG_EXTERNAL_KERNEL_TREE=""
CONFIG_KERNEL_GIT_CLONE_URI=""
CONFIG_BUILD_LOG_DIR=""
CONFIG_EXTRA_OPTIMIZATION="-fno-caller-saves -fno-plt"
CONFIG_TARGET_OPTIMIZATION="-Os -pipe -mcpu=cortex-a53"
CONFIG_EXTRA_BINUTILS_CONFIG_OPTIONS=""
CONFIG_EXTRA_GCC_CONFIG_OPTIONS=""
CONFIG_MUSL_DISABLE_CRYPT_SIZE_HACK=y
CONFIG_GDB=y
CONFIG_HAS_BPF_TOOLCHAIN=y
CONFIG_HAS_PREBUILT_LLVM_TOOLCHAIN=y
CONFIG_USE_LLVM_PREBUILT=y
CONFIG_USE_MUSL=y
CONFIG_SSP_SUPPORT=y
CONFIG_BINUTILS_VERSION_2_42=y
CONFIG_BINUTILS_VERSION="2.42"
CONFIG_GCC_VERSION="13.2.0"
CONFIG_GCC_USE_DEFAULT_VERSION=y
CONFIG_LIBC="musl"
CONFIG_TARGET_SUFFIX="musl"
CONFIG_TARGET_PREINIT_SUPPRESS_STDERR=y
CONFIG_TARGET_PREINIT_TIMEOUT=2
CONFIG_TARGET_PREINIT_IFNAME=""
CONFIG_TARGET_PREINIT_IP="192.168.1.1"
CONFIG_TARGET_PREINIT_NETMASK="255.255.255.0"
CONFIG_TARGET_PREINIT_BROADCAST="192.168.1.255"
CONFIG_TARGET_INIT_PATH="/usr/sbin:/usr/bin:/sbin:/bin"
CONFIG_TARGET_INIT_ENV=""
CONFIG_TARGET_INIT_CMD="/sbin/init"
CONFIG_TARGET_INIT_SUPPRESS_STDERR=y
CONFIG_PER_FEED_REPO=y
CONFIG_FEED_packages=y
CONFIG_FEED_luci=y
CONFIG_FEED_routing=y
CONFIG_FEED_telephony=y
CONFIG_PACKAGE_base-files=y
CONFIG_PACKAGE_busybox=y
CONFIG_BUSYBOX_DEFAULT_HAVE_DOT_CONFIG=y
CONFIG_BUSYBOX_DEFAULT_INCLUDE_SUSv2=y
CONFIG_BUSYBOX_DEFAULT_LONG_OPTS=y
CONFIG_BUSYBOX_DEFAULT_SHOW_USAGE=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_VERBOSE_USAGE=y
CONFIG_BUSYBOX_DEFAULT_LFS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_DEVPTS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_PIDFILE=y
CONFIG_BUSYBOX_DEFAULT_PID_FILE_PATH="/var/run"
CONFIG_BUSYBOX_DEFAULT_FEATURE_PREFER_APPLETS=y
CONFIG_BUSYBOX_DEFAULT_BUSYBOX_EXEC_PATH="/proc/self/exe"
CONFIG_BUSYBOX_DEFAULT_FEATURE_SYSLOG=y
CONFIG_BUSYBOX_DEFAULT_CROSS_COMPILER_PREFIX=""
CONFIG_BUSYBOX_DEFAULT_SYSROOT=""
CONFIG_BUSYBOX_DEFAULT_EXTRA_CFLAGS=""
CONFIG_BUSYBOX_DEFAULT_EXTRA_LDFLAGS=""
CONFIG_BUSYBOX_DEFAULT_EXTRA_LDLIBS=""
CONFIG_BUSYBOX_DEFAULT_INSTALL_APPLET_SYMLINKS=y
CONFIG_BUSYBOX_DEFAULT_PREFIX="./_install"
CONFIG_BUSYBOX_DEFAULT_NO_DEBUG_LIB=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_BUFFERS_GO_ON_STACK=y
CONFIG_BUSYBOX_DEFAULT_PASSWORD_MINLEN=6
CONFIG_BUSYBOX_DEFAULT_MD5_SMALL=1
CONFIG_BUSYBOX_DEFAULT_SHA1_SMALL=3
CONFIG_BUSYBOX_DEFAULT_SHA1_HWACCEL=y
CONFIG_BUSYBOX_DEFAULT_SHA256_HWACCEL=y
CONFIG_BUSYBOX_DEFAULT_SHA3_SMALL=1
CONFIG_BUSYBOX_DEFAULT_FEATURE_NON_POSIX_CP=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_USE_SENDFILE=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_COPYBUF_KB=4
CONFIG_BUSYBOX_DEFAULT_MONOTONIC_SYSCALL=y
CONFIG_BUSYBOX_DEFAULT_IOCTL_HEX2STR_ERROR=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_EDITING=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_EDITING_MAX_LEN=512
CONFIG_BUSYBOX_DEFAULT_FEATURE_EDITING_HISTORY=256
CONFIG_BUSYBOX_DEFAULT_FEATURE_TAB_COMPLETION=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_EDITING_FANCY_PROMPT=y
CONFIG_BUSYBOX_DEFAULT_SUBST_WCHAR=0
CONFIG_BUSYBOX_DEFAULT_LAST_SUPPORTED_WCHAR=0
CONFIG_BUSYBOX_DEFAULT_TRY_LOOP_CONFIGURE=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_SEAMLESS_GZ=y
CONFIG_BUSYBOX_DEFAULT_GUNZIP=y
CONFIG_BUSYBOX_DEFAULT_ZCAT=y
CONFIG_BUSYBOX_DEFAULT_BZIP2_SMALL=0
CONFIG_BUSYBOX_DEFAULT_GZIP=y
CONFIG_BUSYBOX_DEFAULT_GZIP_FAST=0
CONFIG_BUSYBOX_DEFAULT_FEATURE_GZIP_DECOMPRESS=y
CONFIG_BUSYBOX_DEFAULT_TAR=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_TAR_CREATE=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_TAR_FROM=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_TAR_GNU_EXTENSIONS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_PRESERVE_HARDLINKS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_HUMAN_READABLE=y
CONFIG_BUSYBOX_DEFAULT_BASENAME=y
CONFIG_BUSYBOX_DEFAULT_CAT=y
CONFIG_BUSYBOX_DEFAULT_CHGRP=y
CONFIG_BUSYBOX_DEFAULT_CHMOD=y
CONFIG_BUSYBOX_DEFAULT_CHOWN=y
CONFIG_BUSYBOX_DEFAULT_CHROOT=y
CONFIG_BUSYBOX_DEFAULT_CP=y
CONFIG_BUSYBOX_DEFAULT_CUT=y
CONFIG_BUSYBOX_DEFAULT_DATE=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_DATE_ISOFMT=y
CONFIG_BUSYBOX_DEFAULT_DD=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_DD_SIGNAL_HANDLING=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_DD_IBS_OBS=y
CONFIG_BUSYBOX_DEFAULT_DF=y
CONFIG_BUSYBOX_DEFAULT_DIRNAME=y
CONFIG_BUSYBOX_DEFAULT_DU=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
CONFIG_BUSYBOX_DEFAULT_ECHO=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FANCY_ECHO=y
CONFIG_BUSYBOX_DEFAULT_ENV=y
CONFIG_BUSYBOX_DEFAULT_EXPR=y
CONFIG_BUSYBOX_DEFAULT_EXPR_MATH_SUPPORT_64=y
CONFIG_BUSYBOX_DEFAULT_FALSE=y
CONFIG_BUSYBOX_DEFAULT_HEAD=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FANCY_HEAD=y
CONFIG_BUSYBOX_DEFAULT_ID=y
CONFIG_BUSYBOX_DEFAULT_LN=y
CONFIG_BUSYBOX_DEFAULT_LS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_LS_FILETYPES=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_LS_FOLLOWLINKS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_LS_RECURSIVE=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_LS_WIDTH=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_LS_SORTFILES=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_LS_TIMESTAMPS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_LS_USERNAME=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_LS_COLOR=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_LS_COLOR_IS_DEFAULT=y
CONFIG_BUSYBOX_DEFAULT_MD5SUM=y
CONFIG_BUSYBOX_DEFAULT_SHA256SUM=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_MD5_SHA1_SUM_CHECK=y
CONFIG_BUSYBOX_DEFAULT_MKDIR=y
CONFIG_BUSYBOX_DEFAULT_MKFIFO=y
CONFIG_BUSYBOX_DEFAULT_MKNOD=y
CONFIG_BUSYBOX_DEFAULT_MKTEMP=y
CONFIG_BUSYBOX_DEFAULT_MV=y
CONFIG_BUSYBOX_DEFAULT_NICE=y
CONFIG_BUSYBOX_DEFAULT_PRINTF=y
CONFIG_BUSYBOX_DEFAULT_PWD=y
CONFIG_BUSYBOX_DEFAULT_READLINK=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_READLINK_FOLLOW=y
CONFIG_BUSYBOX_DEFAULT_RM=y
CONFIG_BUSYBOX_DEFAULT_RMDIR=y
CONFIG_BUSYBOX_DEFAULT_SEQ=y
CONFIG_BUSYBOX_DEFAULT_SLEEP=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FANCY_SLEEP=y
CONFIG_BUSYBOX_DEFAULT_SORT=y
CONFIG_BUSYBOX_DEFAULT_SYNC=y
CONFIG_BUSYBOX_DEFAULT_FSYNC=y
CONFIG_BUSYBOX_DEFAULT_TAIL=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FANCY_TAIL=y
CONFIG_BUSYBOX_DEFAULT_TEE=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_TEE_USE_BLOCK_IO=y
CONFIG_BUSYBOX_DEFAULT_TEST=y
CONFIG_BUSYBOX_DEFAULT_TEST1=y
CONFIG_BUSYBOX_DEFAULT_TEST2=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_TEST_64=y
CONFIG_BUSYBOX_DEFAULT_TOUCH=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_TOUCH_SUSV3=y
CONFIG_BUSYBOX_DEFAULT_TR=y
CONFIG_BUSYBOX_DEFAULT_TRUE=y
CONFIG_BUSYBOX_DEFAULT_UNAME=y
CONFIG_BUSYBOX_DEFAULT_UNAME_OSNAME="GNU/Linux"
CONFIG_BUSYBOX_DEFAULT_UNIQ=y
CONFIG_BUSYBOX_DEFAULT_WC=y
CONFIG_BUSYBOX_DEFAULT_YES=y
CONFIG_BUSYBOX_DEFAULT_CLEAR=y
CONFIG_BUSYBOX_DEFAULT_DEFAULT_SETFONT_DIR=""
CONFIG_BUSYBOX_DEFAULT_RESET=y
CONFIG_BUSYBOX_DEFAULT_RESIZE=y
CONFIG_BUSYBOX_DEFAULT_START_STOP_DAEMON=y
CONFIG_BUSYBOX_DEFAULT_WHICH=y
CONFIG_BUSYBOX_DEFAULT_AWK=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_AWK_LIBM=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_AWK_GNU_EXTENSIONS=y
CONFIG_BUSYBOX_DEFAULT_CMP=y
CONFIG_BUSYBOX_DEFAULT_SED=y
CONFIG_BUSYBOX_DEFAULT_VI=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_VI_MAX_LEN=1024
CONFIG_BUSYBOX_DEFAULT_FEATURE_VI_COLON=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_VI_YANKMARK=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_VI_SEARCH=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_VI_USE_SIGNALS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_VI_DOT_CMD=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_VI_READONLY=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_VI_SETOPTS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_VI_SET=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_VI_WIN_RESIZE=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_VI_ASK_TERMINAL=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_VI_UNDO_QUEUE_MAX=0
CONFIG_BUSYBOX_DEFAULT_FEATURE_ALLOW_EXEC=y
CONFIG_BUSYBOX_DEFAULT_FIND=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_PRINT0=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_MTIME=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_MMIN=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_PERM=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_TYPE=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_XDEV=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_MAXDEPTH=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_NEWER=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_EXEC=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_USER=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_GROUP=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_NOT=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_DEPTH=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_PAREN=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_SIZE=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_PRUNE=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_PATH=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_REGEX=y
CONFIG_BUSYBOX_DEFAULT_GREP=y
CONFIG_BUSYBOX_DEFAULT_EGREP=y
CONFIG_BUSYBOX_DEFAULT_FGREP=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_GREP_CONTEXT=y
CONFIG_BUSYBOX_DEFAULT_XARGS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_CONFIRMATION=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_QUOTES=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_TERMOPT=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
CONFIG_BUSYBOX_DEFAULT_HALT=y
CONFIG_BUSYBOX_DEFAULT_POWEROFF=y
CONFIG_BUSYBOX_DEFAULT_REBOOT=y
CONFIG_BUSYBOX_DEFAULT_TELINIT_PATH=""
CONFIG_BUSYBOX_DEFAULT_FEATURE_KILL_DELAY=0
CONFIG_BUSYBOX_DEFAULT_INIT_TERMINAL_TYPE=""
CONFIG_BUSYBOX_DEFAULT_FEATURE_SHADOWPASSWDS=y
CONFIG_BUSYBOX_DEFAULT_USE_BB_CRYPT_SHA=y
CONFIG_BUSYBOX_DEFAULT_LAST_ID=0
CONFIG_BUSYBOX_DEFAULT_FIRST_SYSTEM_ID=0
CONFIG_BUSYBOX_DEFAULT_LAST_SYSTEM_ID=0
CONFIG_BUSYBOX_DEFAULT_FEATURE_DEFAULT_PASSWD_ALGO="sha256"
CONFIG_BUSYBOX_DEFAULT_LOGIN=y
CONFIG_BUSYBOX_DEFAULT_LOGIN_SESSION_AS_CHILD=y
CONFIG_BUSYBOX_DEFAULT_PASSWD=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_PASSWD_WEAK_CHECK=y
CONFIG_BUSYBOX_DEFAULT_DEFAULT_MODULES_DIR=""
CONFIG_BUSYBOX_DEFAULT_DEFAULT_DEPMOD_FILE=""
CONFIG_BUSYBOX_DEFAULT_DMESG=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_DMESG_PRETTY=y
CONFIG_BUSYBOX_DEFAULT_FLOCK=y
CONFIG_BUSYBOX_DEFAULT_HEXDUMP=y
CONFIG_BUSYBOX_DEFAULT_HWCLOCK=y
CONFIG_BUSYBOX_DEFAULT_MKSWAP=y
CONFIG_BUSYBOX_DEFAULT_MOUNT=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_MOUNT_HELPERS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_MOUNT_CIFS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_MOUNT_FLAGS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_MOUNT_FSTAB=y
CONFIG_BUSYBOX_DEFAULT_PIVOT_ROOT=y
CONFIG_BUSYBOX_DEFAULT_SWAPON=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_SWAPON_DISCARD=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_SWAPON_PRI=y
CONFIG_BUSYBOX_DEFAULT_SWAPOFF=y
CONFIG_BUSYBOX_DEFAULT_SWITCH_ROOT=y
CONFIG_BUSYBOX_DEFAULT_TASKSET=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_TASKSET_FANCY=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_TASKSET_CPULIST=y
CONFIG_BUSYBOX_DEFAULT_UMOUNT=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_UMOUNT_ALL=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_MOUNT_LOOP=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_BEEP_FREQ=0
CONFIG_BUSYBOX_DEFAULT_FEATURE_BEEP_LENGTH_MS=0
CONFIG_BUSYBOX_DEFAULT_CROND=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_CROND_DIR="/etc"
CONFIG_BUSYBOX_DEFAULT_CRONTAB=y
CONFIG_BUSYBOX_DEFAULT_LESS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_LESS_MAXLINES=9999999
CONFIG_BUSYBOX_DEFAULT_LOCK=y
CONFIG_BUSYBOX_DEFAULT_STRINGS=y
CONFIG_BUSYBOX_DEFAULT_TIME=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_IPV6=y
CONFIG_BUSYBOX_DEFAULT_VERBOSE_RESOLUTION_ERRORS=y
CONFIG_BUSYBOX_DEFAULT_BRCTL=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_BRCTL_FANCY=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_BRCTL_SHOW=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_HTTPD_PORT_DEFAULT=80
CONFIG_BUSYBOX_DEFAULT_IFCONFIG=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_IFCONFIG_STATUS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_IFCONFIG_HW=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_IFCONFIG_BROADCAST_PLUS=y
CONFIG_BUSYBOX_DEFAULT_IFUPDOWN_IFSTATE_PATH=""
CONFIG_BUSYBOX_DEFAULT_IP=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_IP_ADDRESS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_IP_LINK=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_IP_ROUTE=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_IP_ROUTE_DIR="/etc/iproute2"
CONFIG_BUSYBOX_DEFAULT_FEATURE_IP_RULE=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_IP_NEIGH=y
CONFIG_BUSYBOX_DEFAULT_NC=y
CONFIG_BUSYBOX_DEFAULT_NETMSG=y
CONFIG_BUSYBOX_DEFAULT_NETSTAT=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_NETSTAT_WIDE=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_NETSTAT_PRG=y
CONFIG_BUSYBOX_DEFAULT_NSLOOKUP=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_NSLOOKUP_BIG=y
CONFIG_BUSYBOX_DEFAULT_NTPD=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_NTPD_SERVER=y
CONFIG_BUSYBOX_DEFAULT_PING=y
CONFIG_BUSYBOX_DEFAULT_PING6=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FANCY_PING=y
CONFIG_BUSYBOX_DEFAULT_ROUTE=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_TELNETD_PORT_DEFAULT=23
CONFIG_BUSYBOX_DEFAULT_TRACEROUTE=y
CONFIG_BUSYBOX_DEFAULT_TRACEROUTE6=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_TRACEROUTE_VERBOSE=y
CONFIG_BUSYBOX_DEFAULT_DHCPD_LEASES_FILE=""
CONFIG_BUSYBOX_DEFAULT_UDHCPC=y
CONFIG_BUSYBOX_DEFAULT_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
CONFIG_BUSYBOX_DEFAULT_UDHCPC6_DEFAULT_SCRIPT=""
CONFIG_BUSYBOX_DEFAULT_UDHCPC_DEFAULT_INTERFACE=""
CONFIG_BUSYBOX_DEFAULT_UDHCP_DEBUG=0
CONFIG_BUSYBOX_DEFAULT_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
CONFIG_BUSYBOX_DEFAULT_FEATURE_UDHCP_RFC3397=y
CONFIG_BUSYBOX_DEFAULT_IFUPDOWN_UDHCPC_CMD_OPTIONS=""
CONFIG_BUSYBOX_DEFAULT_FEATURE_MIME_CHARSET=""
CONFIG_BUSYBOX_DEFAULT_FEATURE_FAST_TOP=y
CONFIG_BUSYBOX_DEFAULT_FREE=y
CONFIG_BUSYBOX_DEFAULT_KILL=y
CONFIG_BUSYBOX_DEFAULT_KILLALL=y
CONFIG_BUSYBOX_DEFAULT_PGREP=y
CONFIG_BUSYBOX_DEFAULT_PIDOF=y
CONFIG_BUSYBOX_DEFAULT_PS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_PS_WIDE=y
CONFIG_BUSYBOX_DEFAULT_BB_SYSCTL=y
CONFIG_BUSYBOX_DEFAULT_TOP=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
CONFIG_BUSYBOX_DEFAULT_UPTIME=y
CONFIG_BUSYBOX_DEFAULT_SV_DEFAULT_SERVICE_DIR=""
CONFIG_BUSYBOX_DEFAULT_SH_IS_ASH=y
CONFIG_BUSYBOX_DEFAULT_BASH_IS_NONE=y
CONFIG_BUSYBOX_DEFAULT_SHELL_ASH=y
CONFIG_BUSYBOX_DEFAULT_ASH=y
CONFIG_BUSYBOX_DEFAULT_ASH_INTERNAL_GLOB=y
CONFIG_BUSYBOX_DEFAULT_ASH_BASH_COMPAT=y
CONFIG_BUSYBOX_DEFAULT_ASH_JOB_CONTROL=y
CONFIG_BUSYBOX_DEFAULT_ASH_ALIAS=y
CONFIG_BUSYBOX_DEFAULT_ASH_RANDOM_SUPPORT=y
CONFIG_BUSYBOX_DEFAULT_ASH_EXPAND_PRMT=y
CONFIG_BUSYBOX_DEFAULT_ASH_ECHO=y
CONFIG_BUSYBOX_DEFAULT_ASH_PRINTF=y
CONFIG_BUSYBOX_DEFAULT_ASH_TEST=y
CONFIG_BUSYBOX_DEFAULT_ASH_GETOPTS=y
CONFIG_BUSYBOX_DEFAULT_ASH_CMDCMD=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_SH_MATH=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_SH_MATH_64=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_SH_NOFORK=y
CONFIG_BUSYBOX_DEFAULT_LOGGER=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_SYSLOGD_READ_BUFFER_SIZE=0
CONFIG_BUSYBOX_DEFAULT_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0
CONFIG_PACKAGE_ca-bundle=y
CONFIG_PACKAGE_dnsmasq=y
CONFIG_PACKAGE_dropbear=y
CONFIG_DROPBEAR_CURVE25519=y
CONFIG_DROPBEAR_ED25519=y
CONFIG_DROPBEAR_CHACHA20POLY1305=y
CONFIG_DROPBEAR_U2F=y
CONFIG_DROPBEAR_ED25519_SK=y
CONFIG_DROPBEAR_DBCLIENT=y
CONFIG_DROPBEAR_DBCLIENT_AGENTFORWARD=y
CONFIG_DROPBEAR_SCP=y
CONFIG_DROPBEAR_AGENTFORWARD=y
CONFIG_PACKAGE_firewall4=y
CONFIG_PACKAGE_fitblk=y
CONFIG_PACKAGE_fstools=y
CONFIG_FSTOOLS_UBIFS_EXTROOT=y
CONFIG_PACKAGE_fwtool=y
CONFIG_PACKAGE_getrandom=y
CONFIG_PACKAGE_jsonfilter=y
CONFIG_PACKAGE_libc=y
CONFIG_PACKAGE_libgcc=y
CONFIG_PACKAGE_libpthread=y
CONFIG_PACKAGE_librt=y
CONFIG_PACKAGE_logd=y
CONFIG_PACKAGE_mtd=y
CONFIG_PACKAGE_netifd=y
CONFIG_PACKAGE_openwrt-keyring=y
CONFIG_PACKAGE_opkg=y
CONFIG_PACKAGE_procd=y
CONFIG_PACKAGE_procd-seccomp=y
CONFIG_PACKAGE_procd-ujail=y
CONFIG_PACKAGE_resolveip=y
CONFIG_PACKAGE_rpcd=y
CONFIG_PACKAGE_rpcd-mod-file=y
CONFIG_PACKAGE_rpcd-mod-iwinfo=y
CONFIG_PACKAGE_rpcd-mod-ucode=y
CONFIG_PACKAGE_sqm-scripts=y
CONFIG_PACKAGE_ubox=y
CONFIG_PACKAGE_ubus=y
CONFIG_PACKAGE_ubusd=y
CONFIG_PACKAGE_uci=y
CONFIG_PACKAGE_urandom-seed=y
CONFIG_PACKAGE_urngd=y
CONFIG_PACKAGE_usign=y
CONFIG_PACKAGE_wifi-scripts=y
CONFIG_ZABBIX_POSTGRESQL=y
CONFIG_PACKAGE_trusted-firmware-a-mt7986-emmc-ddr4=y
CONFIG_PACKAGE_trusted-firmware-a-mt7986-nor-ddr4=y
CONFIG_PACKAGE_trusted-firmware-a-mt7986-sdmmc-ddr4=y
CONFIG_PACKAGE_trusted-firmware-a-mt7986-spim-nand-ubi-ddr4=y
CONFIG_PACKAGE_u-boot-mt7986_bananapi_bpi-r3-emmc=y
CONFIG_PACKAGE_u-boot-mt7986_bananapi_bpi-r3-nor=y
CONFIG_PACKAGE_u-boot-mt7986_bananapi_bpi-r3-sdmmc=y
CONFIG_PACKAGE_u-boot-mt7986_bananapi_bpi-r3-snand=y
CONFIG_PACKAGE_libiwinfo-data=y
CONFIG_PACKAGE_eip197-mini-firmware=y
CONFIG_PACKAGE_mt7986-wo-firmware=y
CONFIG_PACKAGE_wireless-regdb=y
CONFIG_PACKAGE_kmod-crypto-aead=y
CONFIG_PACKAGE_kmod-crypto-authenc=y
CONFIG_PACKAGE_kmod-crypto-ccm=y
CONFIG_PACKAGE_kmod-crypto-cmac=y
CONFIG_PACKAGE_kmod-crypto-crc32c=y
CONFIG_PACKAGE_kmod-crypto-ctr=y
CONFIG_PACKAGE_kmod-crypto-des=y
CONFIG_PACKAGE_kmod-crypto-gcm=y
CONFIG_PACKAGE_kmod-crypto-geniv=y
CONFIG_PACKAGE_kmod-crypto-gf128=y
CONFIG_PACKAGE_kmod-crypto-ghash=y
CONFIG_PACKAGE_kmod-crypto-hash=y
CONFIG_PACKAGE_kmod-crypto-hmac=y
CONFIG_PACKAGE_kmod-crypto-hw-safexcel=y
CONFIG_PACKAGE_kmod-crypto-manager=y
CONFIG_PACKAGE_kmod-crypto-md5=y
CONFIG_PACKAGE_kmod-crypto-null=y
CONFIG_PACKAGE_kmod-crypto-rng=y
CONFIG_PACKAGE_kmod-crypto-seqiv=y
CONFIG_PACKAGE_kmod-crypto-sha1=y
CONFIG_PACKAGE_kmod-crypto-sha256=y
CONFIG_PACKAGE_kmod-crypto-sha3=y
CONFIG_PACKAGE_kmod-crypto-sha512=y
CONFIG_PACKAGE_kmod-gpio-button-hotplug=y
CONFIG_PACKAGE_kmod-hwmon-core=y
CONFIG_PACKAGE_kmod-hwmon-pwmfan=y
CONFIG_PACKAGE_kmod-i2c-algo-bit=y
CONFIG_PACKAGE_kmod-i2c-core=y
CONFIG_PACKAGE_kmod-i2c-gpio=y
CONFIG_PACKAGE_kmod-leds-gpio=y
CONFIG_PACKAGE_kmod-lib-crc-ccitt=y
CONFIG_PACKAGE_kmod-lib-crc32c=y
CONFIG_PACKAGE_kmod-nls-base=y
CONFIG_PACKAGE_kmod-ipt-core=y
CONFIG_PACKAGE_kmod-ipt-ipopt=y
CONFIG_PACKAGE_kmod-nf-conntrack=y
CONFIG_PACKAGE_kmod-nf-conntrack6=y
CONFIG_PACKAGE_kmod-nf-flow=y
CONFIG_PACKAGE_kmod-nf-ipt=y
CONFIG_PACKAGE_kmod-nf-log=y
CONFIG_PACKAGE_kmod-nf-log6=y
CONFIG_PACKAGE_kmod-nf-nat=y
CONFIG_PACKAGE_kmod-nf-reject=y
CONFIG_PACKAGE_kmod-nf-reject6=y
CONFIG_PACKAGE_kmod-nfnetlink=y
CONFIG_PACKAGE_kmod-nft-compat=y
CONFIG_PACKAGE_kmod-nft-core=y
CONFIG_PACKAGE_kmod-nft-fib=y
CONFIG_PACKAGE_kmod-nft-nat=y
CONFIG_PACKAGE_kmod-nft-offload=y
CONFIG_PACKAGE_kmod-ifb=y
CONFIG_PACKAGE_kmod-libphy=y
CONFIG_PACKAGE_kmod-phy-aquantia=y
CONFIG_PACKAGE_kmod-phylink=y
CONFIG_PACKAGE_kmod-sfp=y
CONFIG_PACKAGE_kmod-ip6-tunnel=y
CONFIG_PACKAGE_kmod-iptunnel6=y
CONFIG_PACKAGE_kmod-mdio-netlink=y
CONFIG_PACKAGE_kmod-ppp=y
CONFIG_PACKAGE_kmod-pppoe=y
CONFIG_PACKAGE_kmod-pppox=y
CONFIG_PACKAGE_kmod-sched-cake=y
CONFIG_PACKAGE_kmod-sched-core=y
CONFIG_PACKAGE_kmod-slhc=y
CONFIG_PACKAGE_kmod-thermal=y
CONFIG_PACKAGE_kmod-usb-core=y
CONFIG_PACKAGE_kmod-usb-xhci-hcd=y
CONFIG_PACKAGE_kmod-usb-xhci-mtk=y
CONFIG_PACKAGE_kmod-usb3=y
CONFIG_PACKAGE_kmod-cfg80211=y
CONFIG_PACKAGE_kmod-mac80211=y
CONFIG_PACKAGE_MAC80211_DEBUGFS=y
CONFIG_PACKAGE_MAC80211_MESH=y
CONFIG_PACKAGE_kmod-mt76-connac=y
CONFIG_PACKAGE_kmod-mt76-core=y
CONFIG_PACKAGE_kmod-mt7915e=y
CONFIG_PACKAGE_kmod-mt7986-firmware=y
CONFIG_GOLANG_EXTERNAL_BOOTSTRAP_ROOT=""
CONFIG_GOLANG_BUILD_CACHE_DIR=""
CONFIG_LUA_ECO_MBEDTLS=y
CONFIG_HAS_LUAJIT_ARCH=y
CONFIG_RUST_SCCACHE_DIR=""
CONFIG_PACKAGE_ucode=y
CONFIG_PACKAGE_ucode-mod-fs=y
CONFIG_PACKAGE_ucode-mod-math=y
CONFIG_PACKAGE_ucode-mod-nl80211=y
CONFIG_PACKAGE_ucode-mod-rtnl=y
CONFIG_PACKAGE_ucode-mod-ubus=y
CONFIG_PACKAGE_ucode-mod-uci=y
CONFIG_PACKAGE_ucode-mod-uloop=y
CONFIG_PACKAGE_libiptext=y
CONFIG_PACKAGE_libiptext-nft=y
CONFIG_PACKAGE_libiptext6=y
CONFIG_PACKAGE_libxtables=y
CONFIG_PACKAGE_libmbedtls=y
CONFIG_MBEDTLS_AES_C=y
CONFIG_MBEDTLS_CMAC_C=y
CONFIG_MBEDTLS_DES_C=y
CONFIG_MBEDTLS_GCM_C=y
CONFIG_MBEDTLS_NIST_KW_C=y
CONFIG_MBEDTLS_RSA_NO_CRT=y
CONFIG_MBEDTLS_KEY_EXCHANGE_PSK_ENABLED=y
CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED=y
CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED=y
CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED=y
CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y
CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y
CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y
CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y
CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y
CONFIG_MBEDTLS_HKDF_C=y
CONFIG_MBEDTLS_THREADING_C=y
CONFIG_MBEDTLS_THREADING_PTHREAD=y
CONFIG_MBEDTLS_PSA_CRYPTO_CLIENT=y
CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y
CONFIG_MBEDTLS_SSL_PROTO_TLS1_3=y
CONFIG_MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE=y
CONFIG_MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_ENABLED=y
CONFIG_MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED=y
CONFIG_MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED=y
CONFIG_MBEDTLS_ENTROPY_FORCE_SHA256=y
CONFIG_WOLFSSL_HAS_AES_CCM=y
CONFIG_WOLFSSL_HAS_CHACHA_POLY=y
CONFIG_WOLFSSL_HAS_DH=y
CONFIG_WOLFSSL_HAS_ARC4=y
CONFIG_WOLFSSL_HAS_CERTGEN=y
CONFIG_WOLFSSL_HAS_TLSV10=y
CONFIG_WOLFSSL_HAS_TLSV13=y
CONFIG_WOLFSSL_HAS_SESSION_TICKET=y
CONFIG_WOLFSSL_HAS_OCSP=y
CONFIG_WOLFSSL_HAS_WPAS=y
CONFIG_WOLFSSL_HAS_ECC25519=y
CONFIG_WOLFSSL_HAS_OPENVPN=y
CONFIG_WOLFSSL_ALT_NAMES=y
CONFIG_PACKAGE_jansson=y
CONFIG_PACKAGE_libblkid=y
CONFIG_PACKAGE_libblobmsg-json=y
CONFIG_PACKAGE_libbpf=y
CONFIG_PACKAGE_libcomerr=y
CONFIG_PACKAGE_libe2p=y
CONFIG_PACKAGE_libelf=y
CONFIG_PACKAGE_libext2fs=y
CONFIG_PACKAGE_libf2fs=y
CONFIG_PACKAGE_libiwinfo=y
CONFIG_PACKAGE_libjson-c=y
CONFIG_PACKAGE_liblucihttp=y
CONFIG_PACKAGE_liblucihttp-ucode=y
CONFIG_PACKAGE_libmnl=y
CONFIG_PACKAGE_libnftnl=y
CONFIG_PACKAGE_libnl-tiny=y
CONFIG_PACKAGE_libss=y
CONFIG_PACKAGE_libubox=y
CONFIG_PACKAGE_libubus=y
CONFIG_PACKAGE_libuci=y
CONFIG_PACKAGE_libuclient=y
CONFIG_PACKAGE_libucode=y
CONFIG_PACKAGE_libudebug=y
CONFIG_PACKAGE_libustream-mbedtls=y
CONFIG_PACKAGE_libuuid=y
CONFIG_PACKAGE_rpcd-mod-luci=y
CONFIG_PACKAGE_rpcd-mod-rrdns=y
CONFIG_PACKAGE_zlib=y
CONFIG_PACKAGE_luci=y
CONFIG_PACKAGE_luci-light=y
CONFIG_PACKAGE_luci-base=y
CONFIG_LUCI_JSMIN=y
CONFIG_LUCI_CSSTIDY=y
CONFIG_PACKAGE_luci-mod-admin-full=y
CONFIG_PACKAGE_luci-mod-network=y
CONFIG_PACKAGE_luci-mod-status=y
CONFIG_PACKAGE_luci-mod-system=y
CONFIG_PACKAGE_luci-app-firewall=y
CONFIG_PACKAGE_luci-app-opkg=y
CONFIG_PACKAGE_luci-app-sqm=y
CONFIG_PACKAGE_luci-theme-bootstrap=y
CONFIG_PACKAGE_luci-proto-ipv6=y
CONFIG_PACKAGE_luci-proto-ppp=y
CONFIG_PACKAGE_iptables-mod-ipopt=y
CONFIG_PACKAGE_iptables-nft=y
CONFIG_PACKAGE_nftables-json=y
CONFIG_PACKAGE_xtables-nft=y
CONFIG_PACKAGE_knot-resolver_dnstap=y
CONFIG_PACKAGE_ip-full=y
CONFIG_PACKAGE_tc-tiny=y
CONFIG_PACKAGE_cgi-io=y
CONFIG_PACKAGE_uhttpd=y
CONFIG_PACKAGE_uhttpd-mod-ubus=y
CONFIG_PACKAGE_hostapd-common=y
CONFIG_WPA_MSG_MIN_PRIORITY=3
CONFIG_DRIVER_11AC_SUPPORT=y
CONFIG_DRIVER_11AX_SUPPORT=y
CONFIG_WPA_MBO_SUPPORT=y
CONFIG_PACKAGE_wpad-basic-mbedtls=y
CONFIG_PACKAGE_ds-lite=y
CONFIG_PACKAGE_ethtool-full=y
CONFIG_PACKAGE_iw=y
CONFIG_PACKAGE_odhcp6c=y
CONFIG_PACKAGE_odhcp6c_ext_cer_id=0
CONFIG_PACKAGE_odhcpd-ipv6only=y
CONFIG_PACKAGE_odhcpd_ipv6only_ext_cer_id=0
CONFIG_PACKAGE_ppp=y
CONFIG_PACKAGE_ppp-mod-pppoe=y
CONFIG_PACKAGE_uclient-fetch=y
CONFIG_PACKAGE_uboot-envtools=y
CONFIG_PACKAGE_e2fsprogs=y
CONFIG_PACKAGE_f2fsck=y
CONFIG_PACKAGE_mkf2fs=y
CONFIG_PACKAGE_iwinfo=y
CONFIG_PACKAGE_jshn=y
CONFIG_PACKAGE_libjson-script=y
CONFIG_PACKAGE_mdio-tools=y
CONFIG_STRACE_NONE=y
CONFIG_PACKAGE_ubi-utils=y
CONFIG_PACKAGE_ucode-mod-html=y
1714907638138.png

Mein SFP-Modul funktioniert nun und kommuniziert mit 2,5 GBit/s mit einem Zyxel XGS 1210-12. Auf das Ding bin ich hier über einen Forum-Post aufmerksam geworden und das ist fast genau das was ich gesucht habe. eth1 ist der zweite SFP-Slot, der als WAN-Port fungieren soll, sobald hier die Deutsche Giganetz Glasfaser gelegt hat.

Ich bin begeistert von dem kleinen Kasten. Der hat Bumms und man kann sehr viel damit anstellen, er funktioniert aber auch unaufgeregt im Hintergrund wenn man gerade keine Zeit für Basteleien hat. Würde ich ihn mir nochmal kaufen? Puh, der Banana PI R4 ist verfügbar und das Wifi7 Modul wird wohl derzeit getestet, steht also auch bald vor der Tür. Aber ehrlich? Über den Zyxel-Switch (den ich so oder so brauche) hab ich auch SFP+ und ich reize nicht mal Wifi6 aus, wird also ne Preisfrage sein. Mein RB4011 von Mikrotik hat mir schon gefallen, der Banana PI R3 passt aber besser zu meinen Fähigkeiten (und jammert nicht wegen DS-Lite).​
 

Anhänge

  • 1714905600071.png
    1714905600071.png
    1,5 KB · Aufrufe: 70
  • Gefällt mir
Reaktionen: AB´solut SiD und Haldi
Hat eigentlich noch jemand das Problem, dass alle Wlanclients nicht mit ihrem Hostnames angezeigt werden? Nur mit der IP? Bei den Lan Clients habe ich das Problem nicht. Google hat da auch nicht viel geholfen. Viele Antworten beschränken sich auf Situationen, wo Openwrt nur als AP genutzt wird. Das WLan ist aber in derselben Bridge wie das LAN. Also ja doch eigentlich dasselbe Netz, dieselben Einstellungen und alles. Warum tritt das Problem also nur bei WlanClients auf? Viele sagen auch, man solle die Hostnamen manuell in Openwrt pflegen, aber das kommt mir etwas nervig vor und vor allem verstehe ich nicht warum, wenns doch bei Lan geht.
 
Ich möchte den Thread noch mal aufgreifen da Ich Fragen zum Banana Pi BPI-R4 hab nämlich der Punkt bezüglich AES / NI Support der CPU da Ich nirgends bezüglich des MediaTek MT7988(Filogic 880) dazu Infos finde ............
 
Sobald es das mit wifi7 gibt werde ich mir das hier noch mal anschauen, danke :)
Ergänzung ()

JustAnotherTux schrieb:
Sobald es das mit wifi7 gibt werde ich mir das hier noch mal anschauen, danke :)
Okay scheinbar geht das ja schon mit dem Banana Pi BPI-R4
 
Zuletzt bearbeitet:
Wollt schon sagen, es gibt ja das BPI-R4-NIC-BE14 bzw. BE19 Wifi7 Modul. Wobei letzteres nirgends verfügbar ist.

An und für sich kommt der Banana Pi R4 erst mal "nackig" was WLAN angeht.
 
Zurück
Oben