AC Mesh Upgrade Probleme

Adrian Schmutzler mail at adrianschmutzler.de
Mi Apr 11 12:59:01 CEST 2018


Hallo Fabian,

 

vielen Dank für deine technischen Ergänzungen und deine diesbezügliche Hilfe gestern.

 

Nur eine Anmerkung zwecks hexdump:

Von den 5 erreichbaren AC Mesh meines Pools hatten 4 „8000“ und 1 „0000“. Keine Ahnung, warum die eine anders ist.

 

Grüße

 

Adrian

 

From: franken [mailto:franken-bounces at freifunk.net] On Behalf Of Fabian Bläse
Sent: Mittwoch, 11. April 2018 12:51
To: Freifunk Franken <franken at freifunk.net>
Subject: Re: AC Mesh Upgrade Probleme

 

Hallo,





On 11. Apr 2018, at 12:14, Adrian Schmutzler <mail at adrianschmutzler.de <mailto:mail at adrianschmutzler.de> > wrote:

 

Der bootloader weiß nun also nicht, welche Partition er nehmen soll, was im Normalfall kein Problem ist. Problematisch wird es, wenn man nun etwas per sysupgrade verändern will. !!

 

Das ist jetzt reine Spekulation, aber ich vermute fast, dass das erste Bit aus der bs Partition entscheidet, welche Kernelpartition verwendet wird und dass es eine 50/50 Chance gibt, auf welche Partition dieses Bit beim flashen zeigt, wenn man OpenWRT in der Factory Firmware flasht.

 

Der OpenWRT Kernel verwendet immer kernel0, was zum Problem wird, wenn der Ubiquiti Bootloader kernel1 geladen hat, und der Inhalt nicht übereinstimmt.

 

Da der Bootloader aber einen signierten Kernel scheinbar immer bevorzugt, egal auf was das Bit in der bs Partition steht, muss der OpenWRT Kernel auf beide Partitionen geschrieben werden, daher ist die Partition, die danach gebootet wird auch (erstmal) egal, da der Inhalt identisch ist. Kaputt geht es, sobald man vom OpenWRT aus daran etwas ändert, weil der Inhalt der Partitionen dann nicht mehr übereinstimmt.

 

Andere Mesh-Besitzer können hier gern mal Rückmelden, wie das erste Byte der bs Partition aussieht. (siehe hexdump Befehl von Adrian)

Wenn das erste Byte komplett auf null steht, dürfte das Problem nicht bestehen.

 

Wurde die bs partition einmal auf read-only gesetzt, kann dies nicht durch ein sysupgrade geändert werden (habe ich ausprobiert).

Die adsc_* Firmware für KeyXchangeV1 wird voraussichtlich nicht aktualisiert.

 

Das Problem ist wahrscheinlich, dass die Partitionstabelle vermutlich in den Kernel reinkompiliert ist, welchen man aber nicht tauschen kann, weil der Kernel aus der Partition geladen wird, die man aus dem OpenWRT nicht erreicht.

Henne-Ei-Problem. Verdammt. ;-)





Gruß

Fabian

 

-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://lists.freifunk.net/mailman/private/franken-freifunk.net/attachments/20180411/4fdbc277/attachment.html>


Mehr Informationen über die Mailingliste franken