Posts mit dem Label flashen werden angezeigt. Alle Posts anzeigen
Posts mit dem Label flashen werden angezeigt. Alle Posts anzeigen

21. Mai 2017

Flashen eines Xiaomi Redmi Note 2

Ich habe mal wieder ein Xiaomi-Gerät mit manipuliertem Shop-ROM hereinbekommen. Dieses ROM ist nicht updatefähig (über die normale Update-App im Gerät), deshalb installiere ich ein sauberes offizielle ROM darauf.

Beim flashen werden auf dem Gerät sämtliche Daten gelöscht, also vorher alle Daten sichern!

Zuerst besorgt man sich das entsprechende ROM hier. Ob man das China- oder das Global-ROM bzw. das Stable- oder Developer-ROM nehmen soll, kann man hier nachlesen.

Die heruntergeladene Zip-Datei benennt man um in "update.zip" und legt sie im internen Speicher (nicht auf der SD-Karte) des Redmi Note 2 unverändert ab. (Also nicht auspacken!)



Dann das Handy sauber vom System abmelden:



Der Akku des Gerätes muss vollständig aufgeladen sein. Sollte der Akku während des flashens aufgeben, ist das Gerät u.U. gebrickt!

Jetzt startet man die Updater-App und tippt rechts oben auf die 3 Punkte. Es öffnet sich ein Menü. Hier tippt man auf "Neustart ins Recovery":



Das Gerät bootet jetzt im MiRecovery. Es werden Chinesisch, eine weitere mir unbekannte asiatische Sprache und Englisch angeboten:



Mit den Lautstärketasten kann man hoch und runter, mit der Power-Taste bestätigt man die Auswahl. Also 2x auf "leiser" gehen und dann die Power-Taste drücken.

Wenn man länger als 60 Sekunden nichts tut, wählt das Gerät automatisch "Chinesisch" als Sprache aus.

Da ich nicht weiß, was die installierte modifizierte ROM "treibt", empfehle ich einen kompletten "Wipe" des Gerätes. Dazu geht man auf "Wipe & Reset" und drückt die Power-Taste:



"Wipen" müssen wir "Cache" und "User Data". Also auf "Wipe Cache" gehen und die Power-Taste drücken:



Es kommt eine Sicherheitsabfrage, die mit "Yes" bestätigt wird:



Der erfolgreiche "Wipe" wird bestätigt:



Jetzt die Power-Taste drücken. Danach landet man wieder im Hauptmenü. Dort also wieder auf "Wipe & Reset" gehen und dann auf  "Wipe User Data":



Auch hier wieder die Sicherheitsabfrage bestätigen:



Nach dem erfolgreichen Wipe auch wieder  die Power-Taste drücken.

Jetzt kann der eigentliche Flash-Vorgang beginnen. Dazu im Hauptmenü auf den Punkt "Install update.zip to System" auswählen:



Wieder die Sicherheitsabfrage bestätigen:



... und los geht's:



Nach ein paar Minuten ist der Flash-Vorgang abgeschlossen:



Nochmal die Power-Taste drücken und man landet wieder im Hauptmenü:

Im Hauptmenü den Punkt "Reboot" wählen. Es erscheint eine weitere Abfrage:



Den Punkt "Reboot to System" mit der Power-Taste bestätigen und das Gerät beginnt einen normalen Boot-Vorgang.

Dieser erste Boot-Vorgang dauert deutlich länger als ein gewöhnlicher, d.h. ca, 5-10 Minuten. In dieser Zeit nicht ungeduldig werden sondern einfach warten.

Danach erscheint der ganz normale MIUI-Einrichtungsassistent.

Das Flashen ist damit abgeschlossen.

19. Dezember 2016

Flashen eines Xiaomi Redmi 3X

Das Xiaomi Redmi 3X von Gearbest hatte folgende Firmware:



Da die stable-ROMs von Xiaomi immer 3 Punkte enthalten (z.B. 8.1.1.0) sieht man hier sehr schön, dass 8.1.1.0.0 eine inoffizielle Firmware (sog. "Shop-ROM) ist.

Dann die Überraschung: Unter en.miui.com/a-234.html gibt es bis jetzt (Stand: 18.12.2016) nur eine China-ROM, keine global ROM.

In einigen Foren haben offenbar einige die global ROM für das Xiaomi Redmi 3S erfolgreich geflasht. Das 3X und das 3S scheinen sich offenbar nur durch den RAM (3X: 2GB, 3S: 3GB) zu unterscheiden. Insofern hört sich das plausibel an. Also unter obigen Link das Fastboot-ROM für das Xiaomi Redmi 3S (global stable 8.1.1.0) heruntergeladen und genauso geflasht, wie das Xiaomi Redmi 3S.

Der erste Unterschied, der auffiel: Das Gerät wird unter COM20 und nicht unter COM10 erkannt:




Ok, das muss ja nichts heißen, also via MiFlash das ROM geflasht. Hier die böse Überraschung:


Der Flash-Vorgang lief ein paar Minuten und alles sah gut aus, bis dann dieser Fehler kam.

Was nun? Ein fehlerhafter Flash-Vorgang "ist für mich Neuland" ;-)
Ich habe mich dann dazu entschieden, das Gerät einfach mal neu zu starten. Mi-Logo kommt, aber dann:


Ich habe auf dem Handy nichts verschlüsselt. Ich vermute, dass beim flashen ein Image oder eine Partition zuerst verschlüsselt geflasht und beim ersten Start automatisch entschlüsselt wird. Hier scheint in diesem Fall etwas schiefgelaufen zu sein. Interessant ist, dass das System an sich zu funktionieren scheint, denn wenn ich den Power-Schalter gedrückt halt, konnt das gewohnte Menü mit "Airplane-Modus", "Ausschalten", "Reboot"...

Also versuche ich das Handy einfach nochmal zu flashen:
Gerät ausgeschaltet, Power-Schalter und Volume+ gedrückt halten bis es vibriert.
Mi-Logo kommt und auch das Menü:

















Also wieder links auf "Download" getippt. Normalerweise geht an dieser Stelle das Display einfach aus und es wird von MiFlash erkannt. Jetzt aber, startet das Gerät einfach durch und es kommt wieder die Passwort-Abfrage (s.o.).

Gut, dann probieren wir die unterschiedlichen Möglichkeiten durch, mit dem Handy wieder Kontakt aufzunehmen:

Gerät ausgeschaltet, mit USB verbunden:

adb>adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached


Leider nichts gefunden. MiFlash erkennt auch nichts.

-----------------------------------------------

Gerät eingeschaltet, Passwortabfrage (s.o.) kommt, dann das Gerät via USB verbunden:
Gerät piept einmal, im Gerätemanager taucht folgender Eintrag auf:



Als Fehler wird dasselbe ausgegeben, was ich vor Kurzem hier beschrieben hatte. Allerdings hat diese Vorgehensweise diesmal nicht geholfen.

-----------------------------------------------

Gerät ausgeschaltet, dann Power-Taste und Volume+ gedrückt gehalten. Menü erscheint (s.o.), dann auf "Recovery" getippt:
Es kommt ein Bild mit einem Handy und einem USB-Kabel. Dazu der Text "pcsuite.mi.com".
MiSuite gestartet, Gerät via USB angeschlossen.
Gerät erkennt den Laptop (Kabel wird animiert in das Gerät eingerführt), Laptop hat einiges an Plattenaktivität, aber es passiert nichts. (Evtl. wegen des Problems im Geräte-Manager? (s.o.))

-----------------------------------------------

Gerät ausgeschaltet, Power-Taste und Volume- gedrückt gehalten: Fastboot startet, d.h. ich sehe den Xiaomi-Hasen mit dem Androiden. Dann ads Gerät via USB verbunden.

Im Geräte-Manager taucht das Gerät auf:


Parallel dazu meldet die noch immer laufende MiSuite: "Try connect in normal mode then switch".

Aber via ADB immer noch nicht sichtbar:
adb>adb devices
List of devices attached


Im MiFlash tut sich dafür etwas:


Als Image ist immer noch das ROM für das 3S ausgewählt. Also habe ich das China-ROM (dev 6.12.15) heruntergeladen. Dann im MiFlash ausgewählt und die nächste Überraschung:


"Das Objekt mit Nullwert muss einen Wert haben"

In den Logfiles von MiFlash findest sich folgendes:

[01:12:07]:fastboot path: C:\Xiaomi\XiaoMiFlash\Source\ThirdParty\Google\Android\fastboot.exe
[01:12:07]:Das Objekt mit Nullwert muss einen Wert haben.


Probieren wir dasselbe nochmal mit der China-stable 8.1.4.0: Gleiches Resultat.

Ich habe zum Flashen des Redmi 3S damals eine Beta-Version verwendet, weil die MiFlash stable mit dem 3S nicht konnte. Versuchen wir also diesmal die offizielle MiFlash Stable.




Da die unterschiedlichen Releases vom MiFlash keine Versionsnummern beinhalten, habe ich die aktuelle Version (Stand: 19.12.2016) hier zum Download bereitgestellt.

Wichtig: Alte MiFlash-Version sauber deinstallieren, Computer neu starten, neue MiFlash-Version installieren.


Leider bringt die aktuelle Version keine Lösung. Bei beiden China-ROMs kam folgende Meldung:
[01:58:17]:copy C:\XiaoMi\XiaoMiFlash\Source\ThirdParty\Qualcomm\Driver\serial\i386\qcCoInstaller.dll to C:\WINDOWS\system32\qcCoInstaller.dll
[01:58:17]:open RegistryKey Software\XiaoMi\MiFlash\
[01:58:22]:install driver C:\XiaoMi\XiaoMiFlash\Source\ThirdParty\Google\Driver\android_winusb.inf to ,result False,GetLastWin32Error Unknown error (0xe000024b)
[01:58:22]:mkdir "C:\Users\Dark\.android"
[01:58:22]:output:
[01:58:22]: echo 0x2717 >>"C:\Users\Dark\.android\adb_usb.ini"
[01:58:22]:output:
[01:58:22]:open RegistryKey Software\XiaoMi\MiFlash\
[01:58:23]:install driver C:\XiaoMi\XiaoMiFlash\Source\ThirdParty\Nvidia\Driver\NvidiaUsb.inf to ,result False,GetLastWin32Error Unknown error (0xe000022f)
[01:58:23]:open RegistryKey Software\XiaoMi\MiFlash\
[01:58:23]:install driver C:\XiaoMi\XiaoMiFlash\Source\ThirdParty\Microsoft\Driver\tetherxp.inf to ,result False,GetLastWin32Error Unknown error (0xe000022f)
[01:58:23]:open RegistryKey Software\XiaoMi\MiFlash\
[01:58:25]:install driver C:\XiaoMi\XiaoMiFlash\Source\ThirdParty\Microsoft\Driver\wpdmtphw.inf to ,result False,GetLastWin32Error Unknown error (0xe000022f)
[01:58:25]:open RegistryKey Software\XiaoMi\MiFlash\
[01:58:25]:install driver C:\XiaoMi\XiaoMiFlash\Source\ThirdParty\Qualcomm\Driver\qcser.inf to C:\WINDOWS\INF\oem28.inf,result True,GetLastWin32Error
[01:58:25]:set RegistryKey value:qcser.inf--oem28.inf
[01:59:29]:Die angegebene Umwandlung ist ungültig.
[01:59:29]:   bei XiaoMiFlash.code.Utility.UsbDevice.GetAndroidDevices(TreeViewUsbItem item, List`1& outItems) in D:\Workspace\MiFlash\XiaoMiFlash\XiaoMiFlash\code\Utility\UsbDevice.cs:Zeile 99.
   bei XiaoMiFlash.code.Utility.UsbDevice.GetAndroidDevices(TreeViewUsbItem item, List`1& outItems) in D:\Workspace\MiFlash\XiaoMiFlash\XiaoMiFlash\code\Utility\UsbDevice.cs:Zeile 101.
   bei XiaoMiFlash.code.Utility.UsbDevice.GetScriptDevices(List`1 UsbItems) in D:\Workspace\MiFlash\XiaoMiFlash\XiaoMiFlash\code\Utility\UsbDevice.cs:Zeile 89.
   bei XiaoMiFlash.code.Utility.UsbDevice.GetDevice() in D:\Workspace\MiFlash\XiaoMiFlash\XiaoMiFlash\code\Utility\UsbDevice.cs:Zeile 47.
   bei XiaoMiFlash.MainFrm.RefreshDevice() in D:\Workspace\MiFlash\XiaoMiFlash\XiaoMiFlash\MainFrm.cs:Zeile 298.
[01:59:44]:Die angegebene Umwandlung ist ungültig.
[01:59:44]:   bei XiaoMiFlash.code.Utility.UsbDevice.GetAndroidDevices(TreeViewUsbItem item, List`1& outItems) in D:\Workspace\MiFlash\XiaoMiFlash\XiaoMiFlash\code\Utility\UsbDevice.cs:Zeile 99.
   bei XiaoMiFlash.code.Utility.UsbDevice.GetAndroidDevices(TreeViewUsbItem item, List`1& outItems) in D:\Workspace\MiFlash\XiaoMiFlash\XiaoMiFlash\code\Utility\UsbDevice.cs:Zeile 101.
   bei XiaoMiFlash.code.Utility.UsbDevice.GetScriptDevices(List`1 UsbItems) in D:\Workspace\MiFlash\XiaoMiFlash\XiaoMiFlash\code\Utility\UsbDevice.cs:Zeile 89.
   bei XiaoMiFlash.code.Utility.UsbDevice.GetDevice() in D:\Workspace\MiFlash\XiaoMiFlash\XiaoMiFlash\code\Utility\UsbDevice.cs:Zeile 47.
   bei XiaoMiFlash.MainFrm.RefreshDevice() in D:\Workspace\MiFlash\XiaoMiFlash\XiaoMiFlash\MainFrm.cs:Zeile 298.


















16. Oktober 2016

Grundsätzliches zum Flashen/Updaten von Xiaomi-Handys

Welche Arten von Firmwares (ROMs) gibt es?

Xiaomi verfolgt eine sehr interessante Update-Politik. Während man bei den "renommierten" Herstellern mit etwas Glück 2-3 Updates bekommt und es irgendwann heißt "das neue Android wird es für dein 12 Monate altes Gerät nicht geben", entwickelt Xiaomi seine Firmware für alle Geräte permanent weiter. Ausgenommen sind nur alte Modelle, deren Hardware einfach nicht mehr genug Power hergeben, um mit den aktuellen Firmware-Version vernünftig zu laufen. Das sind nach heutigem Stand nur 2 Modelle, der Rest wird bis heute unterstützt.
Xiaomi verwendet ein stark modifiziertes Android und nennt das dann "MIUI". Das Android, das der jeweiligen MIUI-Version zugrunde liegt, variiert von Gerät zu Gerät. Es kann also sein, dass ein Gerät mit MIUI 8 auf Android 5.x basiert, während der MIUI 8 eines anderen Gerätes bereits an Android 6.x zugrunde liegt. Da, wie gesagt, Xiaomi ohnehin das Android sehr stark verändert, fallen diese Unterschiede aber nicht wirklich in's Gewicht.

In dieser Übersicht sieht man, welche Modelle bis zu welcher MIUI-Version unterstützt werden. In der Übersicht bei "Brands" einfach "MI Xiaomi" auswählen.

China-ROM oder Global-ROM?

Xiaomi hat bis vor Kurzem, ausschließlich für den chinesischen Markt produziert und die Handys mit der offiziellen "China-ROM" ausgeliefert. Diese ROM enthält ausschließlich die Sprachen "Chinesisch" und "Englisch" und es gab im System keinen Google-Play-Store.
Parallel dazu gibt es eine "Global-ROM", die anfangs nicht offiziell supportet wurde. In der Global ROM gibt es mehr Sprachen und den Play-Store.

Seit Kurzem produziert Xiaomi einige Modelle auch für den weltweiten Markt. Diese Modelle, genannt "Overseas Edition" unterstützen z.B. auch die LTE-Frequenz "G20", die bei allen anderen Modellen nicht unterstützt werden und enthält auch den Play-Store. Für dieses Modelle gibt es dann 3 ROMs, nämlich "China", "Global" und "Overseas Edition".

Stable- oder Dev-ROM?

Xiaomi unterschiedet bei den oben genannten 3 ROMs zusätzlich zwischen "stable" und "dev".
  • stable ROMs sind offiziell für jedermann freigegeben und werden auch offiziell supportet.
  • dev (Development) ROMs sind Firmwares, die sich noch in der Entwicklung befinden. Sie enthalten oft Features, die in der stable noch nicht verfügbar sind, aber sie können auch noch Fehler enthalten. Ich habe bis jetzt keine Fehler in den dev-ROMs entdecken können und rate jedem, der experimentierfreudig ist, sie auszuprobieren.
    Wichtig: Ausschließlich die dev-ROMS enthalten bis MIUI 7 die Sprache "Deutsch". In der stable ist "Deutsch" nicht verfügbar. Es gibt Gerüchte, dass ab MIUI 8 auch "Deutsch" in der stable enthalten sein soll, verifiziert habe ist das bisher nicht.

Flashen via Download- oder Recovery-Mode?


Es gibt 2 Möglichkeiten ein Xiaomi-Handy zu flashen:
  • Download Mode
  • Recovery Mode
Für beide Methoden werden unterschiedliche Firmware-Images verwendet, also NICHT mischen!

Was sind die Unterschiede?


Recovery Mode

Der Recovery Mode ist im Endeffekt ein "normales" Update, d.h. die Benutzerdaten und Einstellungen bleiben erhalten.
Recovery Image Download
Bei "Brands" einfach "Mi Xiaomi" auswählen.

Download Mode

Beim Fastboot Mode werden alle Daten (Caches, Benutzerdaten, usw.) vom Handy gelöscht. Das Handy befindet sich danach im Werkszustand. Diese Methode empfiehlt sich, wenn man bei der Firmware ein Downgrade oder den Wechsel von eine stable zu einer dev (oder umgekehrt) machen will. Auch wenn im System "irgendwas verbogen" ist, empfiehlt sich ein Total-Reset via Download.
^Zum Flashen via Download Mode benötigt man ein Fastboot Image.

Fastboot Images Download

Howto: Vorbereitungen zum Flashen eines Xiaomi-Handys mittels Fastboot Mode un dem MIUI ROM Flashing Tool (MiFlash)