Mi9 SE Fehler nach Firmware updaten (behoben?)

  • 19 Antworten
  • Letztes Antwortdatum
D

DBan

Gast
Vorab:
ich habe mir zum Testen ein gebrauchtes (von privat) Mi 9 SE besorgt. Zustandsbeschreibung: läuft; nur ab und zu wird der Akku leer gesaugt.
Hat mich erst mal nicht gejuckt - günstig und wollte ja experimentieren.

Fehler 1: TWRP sollte drauf sein - wars nicht. Das war fix erledigt.
Dann mach ich normalerweise die Firmware neu drauf.
Fehler 2: konnte Firmware NICHT flashen. Fehlermeldung "diese rom ist für "grus" - vorhanden ist "."
Wo steht "grus"? /System/build.prop
Da TWRP funktioniert mit Magisk gerootet. Dann mit Ghost mal in die Eingeweide und die build.prop inspiziert.
" ro.system.build.fingerprint=Xiaomi/grus_eea/grus:11/RKQ1.200826.002/V12.5.1.0.RFBEUXM:user/release-keys "
Auf einem funktionierenden mi9se geschaut
" ro.system.build.fingerprint=Xiaomi/grus/grus:11/RKQ1.200826.002/V12.5.1.0.RFBMIXM:user/release-keys "
Diagnose: bei irgend einer flash-aktion ist ein Eintrag falsch eingetragen worden "grus_eea".
Idee "mount -o rw,remount /system" - geht nicht (danke! super-partition). Da hilft auch XDA (noch)nicht weiter.
Wai [warum auch immer] an LOS und die Install-Anleitung dort gedacht Install LineageOS on grus | LineageOS Wiki
Dort wird ja die super-partition mit "fastboot wipe-super super_empty.img" geleert.
HINWEIS: ich erspare mir viel Geschreibsel - ADB/Fastboot auf PC aktualisieren! (15 Minuten Zeitverschwendung bevor es dann funktioniert hat!)
Da ich immer iodeOS/LOS for microG/eOS verwende (je nach Device - was zu bekommen ist) dann gleich auf "lineage-19.1-20221020-microG-grus.zip"
gegangen (Firmware wird eh nichts Neueres kommen).
TWRP hat sich gestreubt; also fastboot flash recovery lineage-19.1-20221016-microG-grus-recovery.img
Vorteil von los-recovery: da ist aktuell eingebaut "Enter fastboot" und dann wieder "zurück zu recovery"
Die Anleitung von LOS abgearbeitet und als AddOn noch Magisk installiert.
Reboot - und "LOS for microG" läuft mit Root(Magisk).
Kurzer Test (24h) und Akkuverbrauch wie gewohnt. Das werde ich noch über einige Zeit beobachten.

(Von dem Fehler noch nirgends gelesen. Hab es aber trotzdem hier mal zusammengeschrieben - vlt. hilfts dem Ein oder Anderen)

Tip: wenn man die Thread hier nebenan liest: einiges ist der Umstellung auf "super-partition" geschuldet.

Warum Mi 9 SE?: ich mag alles was >6" ist NICHT (für mich NICHT mehr handlich).
(Geschmackssache; muss jeder für sich selbst entscheiden)
 
  • Danke
Reaktionen: Meerjungfraumann
Du hast da zwei unterschiedliche Geräte einmal richtiges Globales Gerät und einmal ein EEA Global das ist da schon korrekt mit dem grus_eea.
 
Sorry - du blickst es nicht!
Das hier:
" ro.system.build.fingerprint=Xiaomi/grus_eea/grus:11/RKQ1.200826.002/V12.5.1.0.RFBEUXM:user/release-keys "

hat der Vorbesitzer "zer-flasht". Da lies sich NICHTS updaten/upgraden!!!
Erst mit der LOS-Anleitung konnte die Super-Partition auf NULL gesetzt werden und danach dann "...fastboot flash recovery lineage-19.1-20221016-microG-grus-recovery.img" und so weiter.

Warum: jede ROM ist über die buld.prop gestolpert und hat sich geweigert irgenwas zu installieren.
 
RFBEUXM ist eine eea rom das MIX in der anderen ist die richtige Global ROM.
Habe selbst ein 9SE EEA.

Edit: Wenn du ein Russisches hättest würde da grus_ru stehen.
 
Zuletzt bearbeitet:
Noch mal Sorry - du blickst es immer noch nicht!
Das beschriebene Mi 9 SE hatte einen Fehler: die vergurkte build.prop.
Erst nachdem die Super-Partition mit Hilfe der LOS-Anleitung auf NULL gesetzt wurde konnte ich DANN die Custom-ROM installieren.
Da du ein Mi 9 SE hast: schau mal was in deiner build.prop drin steht.
"grus" ist ein Device-Name. Ich habe nichts an/für "grus_eea"-Device gefunden. Ich kann mir nicht vorstellen das bei Xiaomi diverse
"grus" hergestellt werden, Da wird alles als "grus" vom Band laufen und dann nur Verschieden ROM bekommen.
 
DBan schrieb:
Wo steht "grus"? /System/build.prop
Guck doch ins Flashscript.
Beiträge automatisch zusammengeführt:

Code:
assert(getprop("ro.product.device") == "grus" || getprop("ro.build.product") == "grus" || abort("E3004: This package is for device: grus; this device is " + getprop("ro.product.device") + "."););
ui_print("Target: Xiaomi/grus/grus:11/RKQ1.200826.002/V12.5.1.0.RFBMIXM:user/release-keys");

Daher kommt der Fehler. Der Wert für ro.product.device und für ro.build.product ist nicht grus. Du kannst in TWRP den Befehl
Code:
getprop ro.product.device
ausführen und schauen, was dort angezeigt wird.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Canary222
Hi @chrs267 ,
das in /System/build.prop
" ro.system.build.fingerprint=Xiaomi/grus_eea/grus:11/RKQ1.200826.002/V12.5.1.0.RFBEUXM:user/release-keys "

hatte ich gefunden. Dann suchte ich nach einem "grus_eea" und habe nichts gefunden. Meine Diagnose war "Fehleintrag" woher
auch immer. Das Flashscript sagte "ist nicht für dieses Device" sondern für "grus". Da ich mich ein bischen schwer tue eine
Android-Partition mit "r/w" zu mounten und dann den Eintrag zu editieren und wieder zu speichern weiter gesucht.
Bei LOS-Anleitung fündig geworden "super_empty.img". Das installiert (macht "system" leer und löscht damit auch build.prop).
Dann meckerte auch das Flashscript nicht mehr.

Das von @Stoik sind "Nebelkerzen" oder "Nebenkriegsschauplatz" (😂 /Humor, nicht böse gemeint!) und haben mit dem eigenlichen
Problem wenig zu tun.
"(Von dem Fehler noch nirgends gelesen. Hab es aber trotzdem hier mal zusammengeschrieben - vlt. hilfts dem Ein oder Anderen)"
Von so einem Fehler habe ich bisher nichts gelesen.
 
  • Danke
Reaktionen: Canary222
@DBan es ist krass, habe gerade mal nachgesehen im Tool "Magisk Hide props, da ist der Registrierungsschlüssel richtig hinterlegt.
Es hat auch nicht der Vorbesitzer den Schlüssel geändert/editiert hier der ist von der originalen build.prop, die hänge ich als zip dran
ro.system.build.fingerprint=Xiaomi/grus_eea/grus:11/RKQ1.200826.002/V12.5.1.0.RFBEUXM:user/release-keys
du solltest wenn dann auch bei der selben Region bleiben. Spaß, es dürfte keinen Unterschied machen welche Region installiert ist
Auch wenn dir das erst später eingefallen ist mit der Anleitung zum Flashen der Rom (dafür werden Anleitungen gemacht ich empfehle immer die original Anleitung zu nutzen. ). Das LOS ein leeres Super.img vorher benötigt, hätte ich auch nicht gewusst, somit hätte ein geändertertes Installationsscript dich auch nicht weiter gebracht, da ja dann das leere img gefehlt hätte aufgrund der geänderten Struktur in Android 12 . Und wieder dazu gelernt, Danke für deinen Beitrag.
 

Anhänge

  • Stock-build.prop.zip
    4,3 KB · Aufrufe: 55
Zuletzt bearbeitet:
Bearbeitet von: Canary222 - Grund: Ergänzungen
Das war 2x Spaß:
- ein mal neues Android mit Super-Partition
- ein mal NO Script running

Deine build.prop ist von einem "grus_eea" ? Dann frage ich mich warum das Script gemeckert hat. Ist aber nur rein akademisch.
Ich habe ja beschrieben WIE ich es auf LOS with microG gebracht habe.
Jetzt steht ja in meiner build.prop "grus" drin. Evtl. hätte ich es mit einer EEA updaten können? Probiert habe ich mit einer Global
(ob ich mit einer EEA probiert habe kann ich heute nicht mehr nachvollziehen - glaub schon ABER bin mir nicht mehr sicher).
DAS "Theater" hat 2 positive Seiten: Möglichkeit gefunden mit einer Super-Partition umzugehen & es läuft wieder.
Ich gestehe: bis Dato war ich kein Freund von LOS-Recovery. Aber auf dem "Zicken-Phone" läuft jetzt auch LOS-Recovery (das sieht heute
"besser" aus als die letzten Versuche. Und es ist echt sinnvoll die ADB-Tools öfter als 1x/Jahr zu aktualisieren. Mit den veralteten
stellt man sich sonst selber ein Bein! Es sind gerade die "Kleinigkeiten" die die meiste Zeit fressen!

Edit: JEDER ist für etwas zu gebrauchen - und wenn's nur als ... Beispiel ist 😂😂😂 (Selbst-Verarsc..)

Edit2: Das meiste lernt man aus Fehlern. Eigene oder "gefundene".
 
Zuletzt bearbeitet von einem Moderator:
  • Danke
Reaktionen: Canary222
@DBan das Installations-Script verlangt nach einem grus @chrs267 hat doch die ersten 2 Zeilen gepostet, siehe Post #6, wo die Abfrage statt findet, in der Internationalen Version Global MI steht grus im Key, wenn du direkt mit der Anleitung begonnen hättest, wäre es erst garnicht zur Auffälligkeit (Fehler gekommen), da ja ein leeres img, keine build.prop zum gegenchecken hat. Ja je mehr Lehrgeld man hin legt um so effektiver ist der Lern- Prozess. In deinem Fall gab es 2mal eine neue Erkenntnis und du hast etwas Lebenszeit verloren, die aber so ziemlich das wertvollste ist. die build.prop ist von einer entpackten Rom welche steht im Schlüssel. Ich hab so etwas aber auch noch nie gehabt. Und wenn im Schlüssel grus Anstelle grus_eea gestanden hätte, so wäre es denkbar gewesen das du dein System komplett zerschossen hättest.
 
Zuletzt bearbeitet:
Bearbeitet von: Canary222 - Grund: Ergänzungen
DBan schrieb:
los-recovery: da ist aktuell eingebaut "Enter fastboot"
Dir ist aber klar, dass es dabei um den fastbootd Modus (fastboot reboot fastboot ≠ fastboot reboot bootloader) geht?
Beiträge automatisch zusammengeführt:

@Canary222 @DBan Ist eigentlich jemandem hier aufgefallen, dass die Stock ROM im Gegensatz zu LineageOS gar keine Partition /super benutzt? Bedeutet, dass ausschließlich die LOS Recovery benutzt werden kann, um dieses Build zu flashen. Das würde selbst mit TWRP niemals funktionieren. Du brauchst für die dynamischen Partitionen den fastbootd-Modus, der in der Recovery liegt. Nur die LOS Recovery hat die entsprechende Binary in der Ramdisk. Weder TWRP noch die Stock Recovery haben sie in der Ramdisk.
 
Zuletzt bearbeitet:
Das ist ja das "Unterhaltsame" an Android: jedes Jahr etwas Neues damit es ja nicht langweilig wird. 🙂🙃

@Canary222 ,
ICH bin "unschuldig"! Ich hab das so gebraucht gekauft und weiß natürlich nicht was der Vorbesitzer gemacht hat. (Gefundene Fehler!)
 
  • Danke
Reaktionen: Canary222
@DBan Du hast aber verstanden, was ich dir sagen will?
 
Liest sich langsam nach "How brick my Xiaomi tutorial". EEA Geräte sind ungeeignet für Android Spielerei, da musst schon das richtige Global nehmen.
 
@Stoik Danke für deine erneute professionelle Einschätzung. 👍
 
Gerne, man kann einige Stunden unnütze Lebenszeit einsparen, es wird nur besser mit Xiaomi.eu ROM ohne root etc.
Killer-Feature bei Xiaomi und nicht MIUI ROMs ist doch immer das der Hardware Zugriff eingeschränkt ist bzw. sich verschlechtert. Abgesehen das dann diverse Apps nicht mehr funktionieren.

Wo ist da der Mehrwert?
 
@chrs267 ich hab es nicht gewusst bis ich die Anleitung las, ein Grund warum man ein leeres super.img flasht um die neue geänderte Verzeichnisstruktur zu erhalten und somit die Kompatibilität, ein "normales" TWRP versagt an dieser Stelle.

Der Teil ist zu 100% LOS, fastbootd können einige nur nicht ein leeres IMG flashen, oder andersrum wer bietet es an und welche Rom benötigt es überhaupt. Ich denke das solche Geräte selten unterstützt werden, weil der DEV das nicht auf die Kette bekommt. Und die Jungs von Xiaomi.eu stehen vor ungelösten Problemen, weil google wieder soviel geändert hat in Android 13. Gut das Xiaomi endlich reagiert hat und alle dailys einstampfen wird, aber xiaomi.eu will ja die DEV´s nehmen. nur das es einige Änderungen gibt womit xiaomi.eu nicht klar kommt.

Flash empty super image:
  • On the device, enter fastbootd mode by selecting Advanced, Enter fastboot.
  • On the host machine, flash super_empty.img using: fastboot wipe-super super_empty.img.
  • Once the command succeded, select Enter recovery on the device to return to recovery mode
 
Zuletzt bearbeitet:
@chrs267 ,
Ich glaube schon das du mich auf die relevanten Punkte hin gewiesen hast - wie immer schätze ich dein fundiertes Wissen!

(ohne solche Schreiber wie dich würden hier (AH) die (freundlich gesagt) "..." (je nach Gusto die Punkte ausfüllen) dann die Oberhand
übernehmen) [ich liebe schwarzen Humor oder englischen der so zart von hinten wirkt 😂😇 ]

@Canary222 ,
seit Anfang an "tobt" der Kampf "Google/Developper". Ich finde xiaomi.eu gut. Die einzige Frage ist wie gut sind ihre Dev.
Das gilt genau so für twrp.me
 
@DBan Jetzt habe ich den Fehler gefunden. Die Abfrage im Flashscript
Code:
assert(getprop("ro.product.device") == "grus" || getprop("ro.build.product") == "grus" || abort("E3004: This package is for device: grus; this device is " + getprop("ro.product.device") + "."););
ui_print("Target: Xiaomi/grus/grus:11/RKQ1.200826.002/V12.5.1.0.RFBMIXM:user/release-keys");
kann nur in der LOS Recovery erfolgreich sein und nirgendswo anders. Das hat nichts mit einem leeren super.img zu tun. Dazu komme ich gleich.

Der Befehl getprop ro.build.product gibt den dazugehörigen Wert aus, der in einer der prop-Files eingetragen ist. Es gibt mehrere:
/system/build.prop
/vendor/build.prop
/prop.default (Ramdisk)
In der Stock ROM sind in keiner von diesen Dateien die Properties eingetragen, die das Flashscript abfragt. Auch nicht in der Ramdisk von TWRP. Aber in der Ramdisk der LOS Recovery ist in prop.default auch ro.build.product=grus eingetragen. Daher der Fehler bei einem Versuch, LOS ohne LOS Recovery zu flashen. Denn nur dort gibt es überhaupt einen Wert dazu. Der Wert aus ro.system.build.fingerprint spielt keine Rolle, er wird nicht abgefragt im Flashscript.

Die LOS Recovery bootet das Handy schon mit /super und ist darauf abgestimmt. Daher kann LOS auch nur darüber geflasht werden. Alle anderen Recoverys würden das Handy ohne /super booten und könnten das Flashscript von LOS gar nicht verarbeiten.

Das leere super_empty.img: Wird eine Partition /super verwendet, kann diese Partition auf 2 Arten geflasht werden:
1. Man flasht das gesamte super.img auf /super.
2. Man flasht die einzelnen dynamischen Partitionen wie /system, /vendor usw. einzeln über fastbootd. Dazu muss aber zuerst das super_empty.img geflasht werden, das nicht komplett leer ist. Im Prinzip ist es eine Art Partitionstabelle, die aber nur die Namen der dynamischen Partitionen enthält, ohne Größe oder Speicheradresse.

Die Verwendung von /super an sich ist nichts besonderes. Das müssen alle Hersteller ab einer bestimmten Version von Android ab Werk. Auch TWRP oder andere Entwickler nutzen das schon länger. Aber i.d.R. orientieren sie sich am Hersteller und führen es bei einem Modell nicht neu ein.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: DBan
@chrs267 ,
wie immer: gut verständlich UND hilfreich! Danke!

Edit: Wissen = Macht. Weiß nix - macht nix. 😁
Ich gestehe: ich bin kein Developper, nur Pragmatiker. Mit einer längeren Erfahrung und einer Elektronik Vorbildung.
Wobei ich mich für die Zusammenhänge interessiere. Samsung ist (bis S10) kein Problem, Xiaomi nach 7 Tagen dann auch nichts
unbeherschbares. Was dann nach Android 11 kommt muss ich dann schauen. Wobei ich Wissenstechnisch etwas stagniere.
Das neue Geschlamp ist mir schlicht zu groß (>6"), damit zu unhandlich und deshalb uninteressant. So lange mein S10e läuft
sehe ich keinen Grund um Geld auszugeben.
 
Zuletzt bearbeitet von einem Moderator:
  • Danke
Reaktionen: chrs267

Ähnliche Themen

N
  • nanu88
Antworten
2
Aufrufe
6.038
nanu88
N
reinold p
Antworten
15
Aufrufe
1.917
reinold p
reinold p
L
Antworten
1
Aufrufe
1.010
lu-oggersheim
L
Zurück
Oben Unten