Re: Firmware: 17.01.6, Unterstützung neuer Router: Doku und Stolpersteine

Tim Niemeyer tim at tn-x.org
Sa Sep 8 12:18:55 CEST 2018


Moin Michael

Am 8. September 2018 12:12:25 MESZ schrieb michael at fritscher.net:
>Moin,
>
>die von uns verwendete Version von OpenWRT (17.01.3) baut nicht mehr 
>unter Ubuntu 18.04 oder aktuellem Arch.
>17.01.6 
>(https://github.com/openwrt/openwrt/commit/184fe11483b9595f31a028356f8cc18fb18536e3
>
>und 
>https://github.com/openwrt/packages/commit/40da7ecf21ffe1f3523ffa430c406e1db58ce3d4,
>
>changelog https://openwrt.org/releases/17.01/changelog-17.01.6) ist 
>wieder baubar.
>
>Was muss da außer dem anpassen der beiden Hashes und das raushauen
>eines 
>von uns eingebauten Patches, der in 17.01.6 bereits enthalten ist, 
>gemacht werden?

Es wäre gut, wenn du den Changelog von OpenWRT und den Packages durch gehst und die für ins relevanten (oder potentiell relevanten) Punkte in deiner commit message aufführst.

Ansonsten eigentlich nichts weiter.

>Das Kompilat funktioniert zumindest auf einem Carambola anstandslos
>(ich 
>habe lokal leider keine offiziell unterstützte HW).
>
>Damit komme ich schon zum nächsten Thema: Bauen für ein neues Target.
>In 
>der README.md steht nur, wie ein bereits bestehendes Target um ein
>neues 
>Modell erweitert wird, nicht aber wie für ein weiteres Target gebaut 
>werden kann.
>
>Das ist insbesondere deswegen schade, weil es recht einfach ist - wenn 
>man ein paar Stolpersteine kennt.
>
><Anleitung mit Kommentaren zu Stolpersteinen>

Habe mir die Anleitung nicht durchgelesen, aber ich wäre sehr dafür das readme.MD zu erweitern.


>Voraussetzungen:
>   * Der Router muss bereits von OpenWRT unterstützt werden und ist 
>installiert. Am besten die Version, die die Firmware einsetzt (derzeit 
>17.01)
>   * per ifconfig sich sämtliche fe80er Adressen holen
>   * Rechner mit Linux
>
>Sehr empfohlen:
>   * Zugriff auf die serielle Konsole - ansonsten ist die Gefahr groß 
>sich auszusperren. Der Zugriff ist meist auf der OpenWRT Seite für das 
>entsprechende Gerät beschrieben.
>
>Schritte:
>   * kopiere eine der bsp-Dateien nach bsp/board_<machine-name> - 
>letzteres sollte eine Bezeichnung für den Routertyp sein (an die 
>bestehenden orientieren)
>   * erzeuge ein leeres Verzeichnis bsp/<machine-name> (Anmerkung: Das 
>Buildscript steigt sonst aus, und aus der Fehlermeldung wird der Grund 
>nicht wirklich deutlich)
>  * erzeuge _KEIN_ manuelles bsp/<maschine-name>/.config, kopiere auch 
>_KEINS_ hin (Anmerkung: die Fehlermeldungen vom buildscript verleiten 
>einem dazu - und das schlimme: Es funktioniert dann sogar, nur ist die 
>.config dann _viel_ zu groß und ist supporttechnisch eine Katastrophe))
>  * wähle das bsp mit buildscript selectbsp bsp/board_<machine-name>aus
>   * buildscript prepare
>   * buildscript config openwrt
>      * Da dann Target, Subtarget und Target Profile anpassen
>   * Ansonsten muss erstmal nichts getan werden (Die Freifunk Software 
>und die wichtigsten Kernelmodule für das entsprechende Target werden 
>automatisch ausgewählt, Ergänzungen z.B. bzgl. Kernelmodule bitte erst 
>in der 2. Iteration)
>      * Save
>      * Die Abfrage vom buildscript bzgl. Speichern mit y abnicken
>      * schauen wie der chipset und subtarget in der 
>bsp/<machine-name/.config genannt wurde (Beispiel: 
>CONFIG_TARGET_ramips_rt305x_ - ramips ist da das chipset und rt305x das
>
>subtarget) und in der .bsp Datei anpassen.
>   * firmware/src/packages/fff/fff-network/<chipset> von (derzeit am 
>besten) mpc85xx kopieren. (Anmerkung: Fehlermeldung ist da nicht
>einfach 
>zu interpretieren)
>   * die network.irgendwas nach network.<board_name> kopieren. 
><board_name> bekommt man am einfachsten heraus, wenn man bereits ein 
>Openwrt/LEDE auf dem Router hat und ein uci get board.model.name 
>eingibt. Ansonsten erstmal "raten".
>   * diese anpassen (Das wissen von /etc/network.config von einer 
>bestehenden Installation oder die OpenWRT Seite für den Router kann 
>dabei helfen)
>   * Und das ganze mit buildscript build bauen (Dauert so 20...60 
>Minuten)
>   * Vermutlich krachts am Ende mit einer Fehlermeldung, dass die 
>firmware nicht kopiert werden konnte. Dann schauen, wie die zu 
>kopierende Datei heißt (Tipp: Im Umfeld der Datei, die er kopieren 
>wollte, umschauen) und dann die .bsp Datei anpassen.
>   * Nochmal bauen (geht schnell)
>   * Aufs Gerät flashen (z.B. mit scp kopieren, per ssh einloggen und 
>sysupgrade -n machen)
>  * Hoffen *g* Und nicht gleich die Krise bekommen - beim ersten Start 
>muss der Flash initialisiert werden, was schonmal ein paar Minuten 
>dauern kann. Für Ungeduldige: auf die serielle Konsole schauen.
>  * Versuchen aufs Gerät zu kommen - z.B. mittels den fe80er Adressen, 
>fe80::1, fdff::1. Oder versuchen die Adresse per ping -6
>ff02::1%<iface> 
>zu bekommen. Wenn alles nichts hilft: Serielle Konsole.
>   * Anmelden, schauen ob /etc/network.config von 
>/etc/network.<board-name> übernommen wurde (ansonsten passt der 
>board-name nicht)
>   * network.config solange anpassen, bis man mit der Port-Config 
>zufrieden ist
>   * Diese Änderungen in die 
>firmware/src/packages/fff/fff-network/<chipset>/network.<board-name> 
>rückkoppeln, neu bauen und flashen
>   * Solange machen, bis alles funktioniert
>  * Hinweis: /etc/config/network und wireless nach Möglichkeit erstmal 
>_nicht_ ändern.
>   * Fertig :-)
></Anleitung>
>
>Ich behaupte mal dreist, dass wenn man die 3 Stolpersteine kennt bzw. 
>überwunden hat man es mit "normalen" Debugtaktiken gut schaffen kann. 
>Ich habe es auf diese Weise vor einigen Jahren ohne jede Hilfe und 
>Vorkenntnissen bzgl. dem Buildsystem für den Carambola hinbekommen.
>
>Ich fände es schön, wenn wir die bsps sammeln würden. Damit uns das 
>supporttechnisch nicht um die Ohren fliegt würde ich vorschlagen, dass 
>die Varianten, die wir nicht offiziell supporten wollen (Betrifft v.a. 
>alle Geräte, die die FW-Entwickler nicht haben und es keinen Maintainer

Wir könnten da ja auch einfach das neue tiny subtarget aus Adrians 18er OpenWRT patch rein werfen. Das würde bedeuten: offizieller support für 4mb fliegt raus, aber wer will kann es schnell selber bauen.

Tim


>gibt, der sich bereit erklärt regelmäßig zu testen) in einem CONTRIB 
>Ordner landen und nicht via buildall gebaut werden. Man kann sie auch
>in 
>einem eigenen Repo sammeln. Die Verwaltung von letzterem könnte ich
>auch 
>übernehmen.
>
>Viele Grüße,
>Michael Fritscher


Mehr Informationen über die Mailingliste franken-dev