WR841n v11.1 Firmware selber bauen - buildhilfe

Ich versuche seit längerem mir selber eine Firmware für o.g. Router zu bauen. Leider schlägt der Make Befehl immer an der gleichen Stelle fehl. Folgendes habe ich bis jetzt vorbereitet:

  • Build-Umgebung mit VirtualBox und Ubuntu Server Version aufgebaut. SSH Zugriff vorhanden
  • Benötigte Pakete, wie in der Doku von Gluon beschrieben, nachinstalliert
  • Gluon v2016.2.2 geclont
  • Site Infos von hier geclont
  • make update gemacht
  • make -j6 GLUON_TARGET=ar71xx-generic GLUON_BRANCH=experimental GLUON_RELEASE=0.8~$(date +"%Y-%m-%d_%H-%M") V=99

Danach läuft es eine ganze Weile, bis der Vorgang mit folgendem Bild abbricht:

Wie ich jetzt mit meinem Halbwissen schon herausknobeln konnte, entspricht die site.mk aus meinem GitHub Repository nicht mehr der aktuellen site.mk wie sie in der Gluon Doku zu finden ist. Ich habe also die aktuelle sample site.mk angepasst so gut ich konnte.

Danach nochmal alles von vorne, nur mit neuer site.mk. Ergebnis:

Durch eine Suche hier im Forum meine ich herausgefunden zu haben, dass dieser Fehler wiederum an einer alten site.conf liegt. Diese auf die aktuelle sample site.conf anzupassen, dafür fehlt mir einfach das Wissen und Hintergrundinfos.

Vielleicht kann mir jemand bei der Entwicklung helfen oder hat sowas schnell fertig gemacht. Würde mich freuen meinen TP-Link endlich mal in Betrieb zu nehmen.

Vielen Dank im Voraus für Antworten.

Hallo,

bitte stell die Fehlermeldungen als Code-Blöcke in Textform ein, nicht als Bilder. Dann werden sie nämlich auch für andere, die denselben Fehler haben, und danach googeln, durchsuchbar.

Dem Repo fehlt die modules-Datei. In der modules-Datei wird festgelegt, woher die Zusatzpakete, wie z. B. der Tunneldigger, geladen werden. Als Inspiration könntest du dir die von uns anschauen: site-ffms-old/modules at Domäne-01 · FreiFunkMuenster/site-ffms-old · GitHub

Weil er die Pakete nicht findet, scheitert er mit der Fehlermeldung, dass er die Pakete nicht installieren kann.

Grüße
Matthias

Danke für deine Antwort Matthias.

Die modules Datei scheint mir nur noch verwirrender als die site.conf. Wofür stehen die ganzen Werte und Ziffern? Es scheint auch keine Beispieldatei zu geben, die man auf das Repo anpassen könnte, oder?

Ich steig durch die ganze Materie noch nicht so richtig durch. Weiter Hilfe wird benötigt :smile:

Gruß
Raphael

Der Aufwand ist leider so groß, da „l2tp“ nach wie vor nicht im Gluon „von Haus aus“ drin ist.
Da sind wohl immernoch Detailfragen offen.

Das sind Paketarchive, die verschiedene Softwarepakete beinhalten.

In der ersten Zeile werden alle Repos aufgelistet. Und darunter sind die Repos mit ihrer Adresse und dem Git-Commit, also der exakten Version, die verwendet werden soll.

Du könntest mal die ersten beiden übernehmen und gucken, ob es damit geht.

Das letzte brauchst du nicht, das beinhaltet nur was lokales hier bei uns.

Grüße
Matthias

@Schmattek … kommst du voran, nicht aufgeben, hast es ja fast :wink:

1 „Gefällt mir“

@fuzzle Ich bin leider diese Woche nicht zuhause. Werde es am Wochenende testen.

Bin sehr gespannt :slight_smile:

2 „Gefällt mir“

Klappt nicht! Die fehlenden Pakete scheinen auch mit der modules Datei nicht nachgeladen zu werden.

Durch ein bisschen googlen ist mir auch aufgefallen, dass z.B. ein gluon-announced Paket gar nicht mehr existiert und im gluon-respondd zusammengefasst wurde. Da muss dann aber wieder in der site.mk geändert werden, wo ich wiederum nicht weiß ob das ohne weiteres darf, oder ob das announced Paket zwingend gebraucht wird.

Alles in allem bleibt es bei Stückwerk und Stochern im Kompiliernebel. Falls am Ende was rauskommen würde hätte ich kein gutes Gefühl das auf meine Hardware aufzuspielen.

na du musst schon die passende site.mk mit der passenden FirmwareTag zusammen bringen, meiner meinung nach solltest du das hier probieren
git checkout v2016.2.1
und dir von dieser Version die Beispiel site.mk und site.conf für dich anpassen aus deiner Community.

Danke, ich hab auch Blödsinn erzählt. Hatte noch die falsche site.mk geladen.

Es hängt jetzt anscheinend nur noch an gluon-mesh-vpn-fastd. Das Paket kriege ich irgendwie nicht geladen. Es steht auch leider in keinem Repository, welches in der modules Datei von MPW angegeben sind.

Leider bin ich noch nicht so ganz hinter den Mechanismus des Nachladens über die modules Datei gekommen, um dieses Paket zum bauen zu haben.

So sieht es jetzt aus:

* pkg_run_script: package „gluon-mesh-vpn-fastd“ postinst script returned status 1.

  • opkg_configure: gluon-mesh-vpn-fastd.postinst returned 1.
    /home/schmattek/gluon/Makefile:410: recipe for target ‚package_install‘ failed
    make[4]: *** [package_install] Error 255
    make[4]: Leaving directory ‚/home/schmattek/gluon/build/ar71xx-generic/openwrt‘
    /home/schmattek/gluon/Makefile:434: recipe for target ‚image‘ failed
    make[3]: *** [image] Error 2
    make[3]: Leaving directory ‚/home/schmattek/gluon/build/ar71xx-generic/openwrt‘
    /home/schmattek/gluon/Makefile:478: recipe for target ‚image/TLWR710‘ failed
    make[2]: *** [image/TLWR710] Error 2
    make[2]: Leaving directory ‚/home/schmattek/gluon/build/ar71xx-generic/openwrt‘
    Configuring hostapd-mini.
    /home/schmattek/gluon/Makefile:481: recipe for target ‚call_image/TLWR710‘ failed
    make[1]: *** [call_image/TLWR710] Error 2

lass beim make mal V=99 mit laufen, und speicher den ganzen output
eine make zeile die ein log speichert könnte so aussehen,

make bisserl_blabla_target_und_so V=99 |tee make_lastlog

dann kannste in der Datei make_lastlog sehr einfach nach dem Fehler genauer suchen, der sollte etwasoberalb des von dir geposteten Teils stehen.

Das ist eigentlich in Gluon schon mit drin. Eine Fastd-Konfiguration von uns findest du in Domäne 06. Repos brauchst du dafür eigentlich nicht, weil Fastd direkt Bestandteil von Gluon ist.

Wie mein Vorreder schon sagte, zeig mal mehr Ausgaben. Die Ursache des Fehlers ist hier nicht ersichtlich.

Ihr hattet Recht, der Fehler kommt schon früher:

/home/schmattek/gluon/openwrt/staging_dir/host/bin/lua: /home/schmattek/gluon/scripts/check_site_lib.lua:137: site.conf error: expected fastd_mesh_vpn.methods' to be a string array stack traceback: [C]: in function 'assert' /home/schmattek/gluon/scripts/check_site_lib.lua:137: in function 'need_string_array' stdin:1: in main chunk [C]: in function 'dofile' (command line):1: in main chunk [C]: ? /home/schmattek/gluon/openwrt/staging_dir/host/bin/lua: /home/schmattek/gluon/scripts/check_site_lib.lua:137: site.conf error: expected fastd_mesh_vpn.methods’ to be a string array
stack traceback:
[C]: in function ‚assert‘
/home/schmattek/gluon/scripts/check_site_lib.lua:137: in function ‚need_string_array‘
stdin:1: in main chunk
[C]: in function ‚dofile‘
(command line):1: in main chunk
[C]: ?
/home/schmattek/gluon/openwrt/staging_dir/host/bin/lua: /home/schmattek/gluon/scripts/check_site_lib.lua:137: site.conf error: expected fastd_mesh_vpn.methods' to be a string array stack traceback: [C]: in function 'assert' /home/schmattek/gluon/scripts/check_site_lib.lua:137: in function 'need_string_array' stdin:1: in main chunk [C]: in function 'dofile' (command line):1: in main chunk [C]: ? /home/schmattek/gluon/openwrt/staging_dir/host/bin/lua: /home/schmattek/gluon/scripts/check_site_lib.lua:137: site.conf error: expected fastd_mesh_vpn.methods’ to be a string array
stack traceback:
[C]: in function ‚assert‘
/home/schmattek/gluon/scripts/check_site_lib.lua:137: in function ‚need_string_array‘
stdin:1: in main chunk
[C]: in function ‚dofile‘
(command line):1: in main chunk
[C]: ?
/home/schmattek/gluon/openwrt/staging_dir/host/bin/lua: /home/schmattek/gluon/scripts/check_site_lib.lua:137: site.conf error: expected `fastd_mesh_vpn.methods’ to be a string array
stack traceback:
[C]: in function ‚assert‘
/home/schmattek/gluon/scripts/check_site_lib.lua:137: in function ‚need_string_array‘
stdin:1: in main chunk
[C]: in function ‚dofile‘
(command line):1: in main chunk
[C]: ?
Collected errors:

  • pkg_run_script: package „gluon-mesh-vpn-fastd“ postinst script returned status 1.
  • opkg_configure: gluon-mesh-vpn-fastd.postinst returned 1.

Wenn ich das richtig deute, fehlt ihm die fastd Konfiguration in der site.conf. Diese gibt es ja in der aktuellen Form der site.conf meiner Community nicht. Kann ich dann dieses Paket auf der site.mk rausnehmen?

du willst schon fastd haben,oder? also wie connected denn deine community zu den GW servern, mit fastd oder l2tp tunneldigger. Entsprechend brauchst du / brauchst du nichts von fastd und kannst alles mit fastd aus der site.mk löschen.
hinterleg mal irgendwo deine site.mk und site.conf und verlink die zum nachsehen

Eigentlich will ich nur, dass es langsam mal funktioniert und wie ich schon geschrieben habe, habe ich technisch sehr wenig Ahnung von der Dateistruktur und dem Netzwerk dahinter.

Wo ich die Infos her hole steht ja im ersten Beitrag. Die site.mk habe ich dann per Copy&Paste aus der aktuellsten example site.mk angepasst und los kompiliert.

Wenn ich die site.conf richtig lese, benutzt unsere Community tunneldigger. Was soll ich nun aus der site.mk löschen? Sie sieht wie gesagt so aus KLICK

ich glaube du willst dann die beiden mesh-vpn strings löschen.

  • nicht vergessen, der teufel ist eineichhörnchen und steckt im detail :wink:

Ich habe das Gefühl, dass du die site.conf nicht für Fastd angepasst hast.

Wenn du die verlinkte Vorlage genommen hast, ist diese auf L2TP ausgelegt. Durch und durch.

Wie eine site.conf mit Fastd aussehen kann, findest du hier: http://gluon.readthedocs.io/en/v2016.2.2/user/site.html#packages

Das müsstest du noch anpassen. Was mich verwundert: Du willst doch nur die Firmware für einen neuen Router bauen. Wenn die Community, von der du die Vorlage genommen hast (ffbgh), L2TP nutzt, musst du auch L2TP in deine Firmware einbauen. Sonst wird das nicht funktionieren.

Wir können dir hier bei beidem helfen, mir ist aber nicht ganz klar, was du genau tun möchtest.

@MPW … die site.conf Struktur hat sich im verlaufe von v2016.xy an einigen stellen verändert, insofern kann es gut sein, das man den neuen syntax in der alten site.conf einpflegen muss. Und gluon hat nunmal default die Syntax und die Pakete für fastd drin - auch wenn die in diesem Fall nicht gebraucht würde.
@Schmattek gib gerne bescheid wann du es geschafft hast, und vielleicht bietet deine peer group ja dann auch den download an

1 „Gefällt mir“

Also, ich erkläre nochmal meine Ausgangslage und was ich gerne machen würde:

  • ich habe einen WR841 v.11
  • in meiner Community gibt es keine Firmware dafür
  • der Admin der Community antwortet nicht
  • auf Kontaktanfragen auf Facebook, Webseite etc. antwortet niemand
  • anscheinend total veraltete Konfigs (site.conf, site.mk, modules nicht vorhanden)

Ich würde, wie du schon geschrieben hast, gerne einfach nur eine Firmware für das Gerät haben. Diese ganzen technischen Änderungen, die an den Dateien gemacht werden müssen, kann ich nicht selber ausführen, da mir einfach das Hintergrundwissen bei der Freifunk Technik fehlt.
Für mich wären fertige Dateien super, die ich dann einfach selber backen kann und wenn ein offizielles Release von der Community kommt (Hahaha…) updated sich die Kiste auf was offizielles.

Vielleicht kann mir das auch jemand fertig backen und ich spiele es nur noch ein. Ich habe halt nur eine Chance darin gesehen es selber zu machen, wenn es nichts offizielles gibt, aber es scheint eine Menge Stolpersteine zu geben.

Ich habe mir nach einem Tipp vom User @rime eine neutrale Firmware der vfn-nrw geflasht. Mit einem kleinen Umweg über das Flashen einer geänderten Stock-Firmware, die geänderte Freifunk-Firmwares frisst, hat alles wunderbar geklappt und der Router läuft.