Showing posts with label bootloader. Show all posts
Showing posts with label bootloader. Show all posts

Monday, 25 April 2016

Bootloader entsperren | Xiaomi | MIUI | Anleitung

In Zukunft werden alle Bootloader geschlossen und das ohne Ausnahme! Einige Geräte werden sogar nach einer Firmware-Update gesperrt. Xiaomi muss das tun, weil das Vorgaben von Google sind und MIUI eben Android ist. Die Behauptung, dass das Händler davon abhalten soll "versäuchte Firmware" zu verteilen, ist falsch, da es immer Wege geben wird - auch wenn es nicht mehr so einfach sein wird. Eine Vendor ROM gibt es weiterhin (siehe hier).
In diesem Artikel soll erklärt werden, wie man den Bootloader entsperrt, unter Windows, da es momentan keine Möglichkeit für Linux gibt. Wer also keinen Dual-Boot nutzt, der hat leider Pech gehabt und muss warten.

Anleitung auf eigene Gefahr! Mit dem Flashen einer Custom-ROM/einem Custom-Recovery/entsperren des Bootloaders verliert Ihr die Garantie und Gewährleistung auf euer Gerät! Weder ich, noch sonst irgendwer übernehmen eine Haftung, für irgendwelche Schäden, die durch das befolgen dieser Anleitung geschehen! 

Wir benötigen einen Xiaomi Account und müssen einen Antrag stellen. Wie Ihr kostenlos einen Account erstellen könnt, wird euch hier erklärt. Die Anfrage und das MiUnlock Tool könnt Ihr hier beantragen/herunterladen. Empfohlen wird Windows 7, 8 und 10 - in der 64-bit Version.
Nach dem Download entpackt Ihr die Datei.
Startet MiflashUnlock als Administrator
Durchlesen und bestätigen oder ablehnen. Solltet Ihr damit nicht einverstanden sein, dann wird das Tool geschlossen.
Meldet euch mit eurem Xiaomi-Account/Mi-Konto an.
Jetzt müsst Ihr kurz warten, bis überprüft wird, ob euer Account freigeschaltet wurde.
Pro Account können alle 30 Tage 1 Gerät entsperrt werden.
Sollte dort stehen "Your deivce isn't supported by Mi Unlock" müsst Ihr auf Go klicken.
Im Browser selbst klickt Ihr auch Unlock Now
Hier müsst Ihr euren Namen eingeben, Land, Rufnummer (mobil) und den Grund, wieso Ihr den Bootloader entpserren wollt. Ihr solltet den Grund nicht einfach kopieren, sondern einfach in eigenen Worten erklären, was Ihr mit eurem Gerät vor habt.
Ihr bekommt jetzt eine SMS.
Code kopieren und hier einfügen:
Mit Next bestätigen. Sollten 5 Minuten vergangen sein, dann einfach auf Resend klicken.
Das wäre eure Bestätigung "Apply for unlocking permissions". Klickt auf Go to Forum und speichert euch die Seite ab (weiter unten gibt es eine Erklärung).
Sobald eure Anfrage bearbeitet wurde bekommt Ihr eine SMS, wie oben im Bild zu sehen.
Meldet Ihr euch jetzt beim Tool an - wie zu Beginn - dann werdet Ihr dieses Bild sehen.
Ich hab die Anfrage am 20.03.2016 gestellt und am 31.03.2016 die Bestätigung erhalten. Sollte es nach 12 Tagen keine Rückmeldung geben, dann einfach mal probieren, ob euch ein anderes Bild angezeigt wird (beim Unlock Tool) und sollte das nicht der Fall sein, dann ins Forum gehen und nachfragen (deshalb sagte ich speichert euch die Seite ab). Ihr müsst euch bei dem Forum nicht anmelden, einfach euren Xiaomi-Account verwenden.

Schaltet euer Smartphone aus, wartet kurz, Lautstärkeregler - (leiser) gedrückt halten und Power-Taste drücken, um das Gerät zu starten. Erst los lassen, wenn dieses Bild zu sehen ist:
Verbindet euer Smartphone/Tablet mit dem Rechner.
Verwendet dabei kein USB-Hub und kein USB 3.0 oder 3.1
Beim ersten mal dauert es ein wenig, weil Windows noch die Treiber installiert. Sobald euer Gerät gefunden wird, wird euch angezeigt, dass das Gerät verbunden wurde und Ihr könnt auf Unlock klicken. Solltet Ihr noch die Daten nicht gesichert haben, dann wäre es jetzt zu spät, da nach dem Entsperren euer Gerät zurückgesetzt wurde (alles wurde gelöscht).
Erscheint nach 50% "Couldn't verify device", dann habt Ihr die falsche Rom auf eurem Xiaomi Smartphone/Tablet, mit welcher ein Unlock unmöglich ist. Laut Xiaomi soll es beim Redmi Note 3 Pro und Mi5 mit der Stable ROM sogar kein Problem sein aber es geht nicht, ich hab es selbst mehrfach getestet. Ich musste erst einmal die Developer ROM (China) installieren und erst dann konnte ich den Bootloader entsperren:
Solltet Ihr neu auf dem Gebiet sein, dann schaut euch bitte diese Erklärung an. Bei Fragen kann ich natürlich auch helfen.
Habt Ihr die richtige ROM, dann dauert der ganze Prozess ca. 15 Sekunden.
Sobald die Meldung Unlocked successfully erscheint klickt Ihr auf Reboot phone.
Euer Bootloader ist nun ensperrt.

Wenn Ihr das überprüfen wollt, dann könnt Ihr so vorgehen:
Nach dem Neustart wieder in die Fastboot Mode booten und CMD öffnen (ab jetzt geht es auch unter Linux - selbe Befehle).
Per fastboot devices überprüfen, ob das Smartphone gelistet wird...
Mit fastboot oem device-info wird euch angezeigt, ob der Bootloader geschlossen ist.
Steht unter dem Punkt Device unlocked "false", dann ist der Bootloader gesperrt.
Sollte dort "true" stehen, dann ist der Bootloader entsperrt und Ihr könnt mit Fastboot arbeiten.

Noch ein kleiner Hinweis, weil das vielen nicht bewusst ist.
Wollt Ihr euch ein Xiaomi Smartphone oder Tablet bestellen, dann könnt Ihr sogar vor dem Bestellen den Unlock beantragen. Ihr müsst euch nicht anmelden, auf dem Gerät selbst!

Tuesday, 12 April 2016

MIUI Firmware | Stable | Developer | Global | Custom | ROM

Da ich jetzt ein paar Anleitungen veröffentlichen werden, müssen erst einmal die Grundlagen erklärt und verstanden werden. Aus diesem Grund will ich euch erklären, was es jetzt für Unterschiede gibt und welche ROM (Firmware) für euch die richtige Wahl wäre. Gleich zu Beginn: Alle Artikel über dieses Thema, die vor 2016 online veröffentlicht wurden, sind veraltet und somit unbrauchbar! Xiaomi hat vieles geändert und genau aus diesem Grund gibt es so viele Unklarheiten in Foren.
MIUI V7 von xiaomi.eu
MIUI ist ein stark angepasstes Android, von Xiaomi, welches sich von den Grundfunktion nicht von anderen Android-Smartphones unterscheidet. Bei Samsung wäre es TouchWiz-UI, bei Xiaomi ist es MIUI (UI steht für User Interface - Benutzeroberfläche).

Zu Beginn gab es nur 2 verschiedene Versionen von MIUI:
- Stable ROM
- Developer ROM (oft auch nur Dev ROM)

Ende 2015 gibt es 4 verschiedene ROM's.
- Stable ROM China
- Developer ROM China
- Stable ROM Global
- Developer ROM Global
Das Xiaomi Mi 5 ist jetzt etwa einen Monat alt. Momentan habt Ihr die Wahl zwischen 2 ROM's. Neben der Stable ROM gibt es die Developer ROM
Momentan gibt es nur Xiaomi Mi 5 China
Beim Redmi Note 3 haben wir eine größere Auswahl.
- Redmi Note 3 Qualcomm Global
- Redmi Note 3 Qualcomm China
- Redmi Note 3 MTK China
Einige Geräte werden in mehreren Versionen angeboten, wie das Redmi Note 3. Es gibt eine Version mit MTK (MediaTek) Chip aber auch eine mit Qualcomm (Snapdragon) Chip. In Indien kann die MTK Version nicht verkauft werden, deshalb gibt es neben dieser MTK-Version eine weitere Version mit dem Snapdragon 650, welche aber auch in China angeboten wird.
Somit gibt es im Grunde immer zwei verschiedene ROM's.
Stable ROM: Die Stable ROM ist die Firmware, welche immer drauf ist, nach dem Kauf, von Werk aus... wie der Name schon verrät - es ist eine stabile Version, für den täglichen Gebrauch geeignet. Updates gibt es alle 1-2-3 Monate, zu Beginn (kurz nach dem Verkaufsstart) auch mal 1 bis 2 Updates pro Monat. Kauft Ihr euch ein MI5 in China, dann wird es Stable Rom China sein, in Indien wäre es Stable Rom Global.
Developer ROM: Jeden Freitag erscheint die Developer ROM (Ausnahme wären Feiertage in China). An der Versionsnummer könnt Ihr sofort erkennen, wann die Firmware veröffentlicht wurde. Im Screenshot oben steht 6.3.31 und das würde bedeutet 2016.03.31 (31.03.2016). Auch wenn Developer übersetzt Entwickler bedeutet, kann diese ROM auch von jedem "Normalo" genutzt werden. Im Vergleich zur Stable ROM gibt es hier Root und alleine aus dem Grund nutzen viele diese ROM. Alle neuen Funktionen und auch Verbesserungen werden zuerst hier eingespielt und getestet. Sobald die Community und die Entwickler positives Feedback geben, kann das in die Stable ROM übernommen werden. Hier könnte es aber auch Probleme geben, wie zum Beispiel kein WLAN oder Bluetooth, das der Wecker nicht funktioniert, usw. usf. Das ist aber selten der Fall, nur besteht eben die Gefahr. Es werden keine Geräte mit Developer ROM ausgeliefert. Ihr könnt euch die Recovery ROM laden und per Updater App - wie oben beschrieben - die .zip Datei auswählen und von Stable zu Developer wechseln. Momentan aber nur von China zu China und nicht von Global zu China oder von China zu Global. Hier müsst Ihr dann auch mit dem MiFlash Tool arbeiten (dazu später mehr).
China: Wäre die Firmware für China. Es gibt nur englisch oder chinesisch als Auswahl (Sprache), keine Google Dienste und ein paar chinesische Apps/Anwendungen, mit welchem wir nichts anfangen können (sind dann oft sogar nur chinesisch).
Global: Ende 2015 gibt es neben China auch noch Global ROM's/Firmware. Bei dieser Firmware gibt es mehrere Sprachen, auch wenn einige schlecht oder nur teilweise übersetzt wurden. Die China-Apps wurden entfernt (oft bleiben nur 2-3 übrig) und Google Play ist von Werk aus installiert. Neue Sprachen erscheinen zuerst bei der Developer ROM und werden später in die Stable ROM übertragen. Sollte es Deutsch zu Beginn nicht geben, dann ist es oft eine Frage von ein paar Wochen, bis diese eingefügt wird.
Wenn Ihr euch ein Xiaomi-Smartphone aus China bestellt, dann bekommt Ihr zu 99% ein Smartphone mit "Vendor Firmware". Das der Bootloader gesperrt ist hilft hier nicht.
Die ROM ist oft an der Versionsnummer zu erkennen. Im Screenshot oben ist 7.1.99.99 zu sehen. Sucht man nach der Firmware, dann findet man die zum Download nicht.

Mit so einer Firmware bekommt Ihr keine Updates und beim Versuch eine Firmware zu flashen (installieren) bekommt Ihr nur eine Fehlermeldung, wie zum Beispiel "can't verify update" oder die Update wird gestartet und es passiert am Ende nichts, nur ein Neustart.
Ihr habt hier nur einen Weg, um euch zu befreien - MiFlash

Und so kommen wir auch zum letzten Punkt: Fastboot ROM und Recovery ROM
Durch die Dateiendung könnt Ihr sofort sehen, ob es sich um eine Fastboot oder Recovery ROM handelt. Die Fastboot ROM's bekommt in der Regeln nur im Forum, im MIUI Forum von den Admins oder Moderatoren. Hier mal ein Beispiel:
Recovery ROM: Dateiendung ist immer .zip, nur für die Updater App geeignet.
Fastboot ROM: Niemals eine .zip Datei (.tgz oder .tar), für das MiFlash Tool oder Fastboot.
Von der SD-Karte installieren, um eine Recovery ROM zu flashen (installieren)
Ihr habt im System eine App, welche sich Updater nennt. Ruft Ihr die weiteren Einstellungen auf, wie oben im Bild, dann findet Ihr den Punkt "Von SD-Karte installieren". Darüber könnt Ihr zum Beispiel von Stable zu Developer wechseln. Ihr müsst hier nur auf die Dateiendung achten und auf die Region (China oder Global).
Bekommt Ihr ein Smartphone mit Stable ROM China, dann könnt Ihr nicht (über die Updater App) zu Stable ROM Global oder Developer ROM Global wechseln - die Region passt nicht.
Jede andere ROM ist eine Custom ROM (nicht von Xiaomi selbst). Darunter zählen ROM's wie die von xiaomi.eu oder sMIUI. Hier habt Ihr keine China-Apps und eine perfekte Übersetzung. Die Basis wäre die ROM von Xiaomi selbst, nur angepasst - deshalb Custom ROM.
Diese könnt Ihr nur installieren, wenn Ihr den Bootloader entsperrt und ein Custom Recovery flasht, wie zum Beispiel TWRP.
Damals (vor 2016) konntet Ihr euch einfach die ROM herunterladen, als .zip-Datei und diese direkt über das MI-Recovery flashen. 2016 bekommt Ihr oft nicht einmal das Mi-Recovery mehr zu sehen, selbst nachdem der Bootloader entsperrt wurde.

Sunday, 31 January 2016

adb und fastboot | Linux | Installation | Einrichtung | Anleitung

Beginnen wir mit der Installation. Öffnet das Terminal und führt diese beiden Befehle aus:
[1] sudo apt-get install android-tools-adb
[2] sudo apt-get install android-tools-fastboot
Sollte Linux eine neue Welt für euch sein, dann wird euch dieser Artikel erklären, was das Terminal ist, wie es gestartet wird und wie Ihr damit arbeiten könnt. Dabei spielt es keine Rolle, ob Ubuntu oder Linux Mint oder gar ein andere Linux-Distribution - Terminal bleibt Terminal (in diesem Fall). 
Damit wäre fastboot und adb installiert. Startet euren Rechner neu und schon könnt Ihr damit arbeiten.

Sollte es Probleme geben, dann könnte Ubuntu die Quellen nicht aktualisiert haben. Momentan ist das der Fall und wer Android 5.x.x Lollipop nutzt, der könnte Probleme bekommen. 
Führt den Befehl adb version aus. In meinem Fall war Version 1.0.31 installiert. Die neuste Version wäre aber 1.0.32. Wer die neue Version installieren möchte, der führt diese Befehle aus:
[1] wget -O - https://skia.googlesource.com/skia/+archive/cd048d18e0b81338c1a04b9749a00444597df394/platform_tools/android/bin/linux.tar.gz | tar -zxvf - adb
[2] sudo mv adb /usr/bin/adb
[3] sudo chmod +x /usr/bin/adb
Ihr könnt das Bild oben anklicken, um es zu vergrößern, dann könnt Ihr noch einmal sehen, wie Ihr vorgehen solltet. Sollte als Ausgabe erscheinen Android Debug Bridge version 1.0.32, dann müsst Ihr das natürlich nicht tun. 

In der Anleitung (um zum Beispiel den Bootloader zu entsperren oder um ein Recovery zu flashen) wird oft an erster Stelle stehen "führt den Befehl adb devices aus". Im Bild oben sollte jetzt unter dem List of devices attached eine Nummer stehen, was aber nicht der Fall ist. Was könnte jetzt das Problem sein? 
In 90% der Fälle wäre das die Lösung: 
Führt im Terminal den Befehl lsusb aus. Dieser Befehl listet alle Geräte auf, welche per USB am Rechner angeschlossen sind. Habt Ihr ein Nexus, dann wird etwas wie Google dahinter stehen. In meinem Fall - das ZUK Z1 - steht nichts da. Deshalb führe ich den Befehl zwei mal aus, um zu sehen, welche Zeile verschwindet, wenn mein Z1 nicht mehr angeschlossen ist. 
In diesem Fall wäre das:
Bus 004 Device 007: ID 2b4c:1001
Hier können wir die Manufacturer ID und Model ID herauslesen. Führt jetzt den Befehl:
sudo nano /etc/udev/rules.d/51-android.rules
aus und es erscheint dieses Bild:
In meinen Fall muss ich jetzt diese Zeile reinkopieren:
#ZUK
SUBSYSTEM=="usb", ATTR{idVendor}=="2b4c", MODE="0664", GROUP="plugdev"
STRG gedrückt halten und O drücken, mit der Entertaste bestätigen und mit STRG und X das Fenster wieder schließen (siehe unten im Bild die Bedeutung der Buchtstaben). Ob HTC, LG, OnePlus, Sony, usw. usf. hier findet Ihr eine Liste mit allen Geräten. Dort sucht Ihr euch einfach die aus, die zu eurem Gerät passt. Ich habe extra diese Seite verlinkt, da diese aktualisiert wird. 

Sollte dann mit dem Befehl adb devices eine Zahl erscheinen aber dahinter ein unauthorized stehen, dann müsst Ihr auf euer Gerät schauen. 
Der Fingerabdruck des RSA-Schlüssels für diesen Computer lautet...
Hier ein Haken setzen und mit OK bestätigen. Jetzt wird dieses unauthorized nicht mehr erscheinen und Ihr könnt mit adb arbeiten!

Wenn es weiterhin nicht funktioniert, dann führt den Befehl groups aus. 
Sollte in der Zeile darunter plugdev nicht erscheinen, dann führt Ihr den Befehl
sudo gpasswd -a BENUTZERNAME plugdev
aus. Ihr musst anstelle von BENUTZERNAME euren Benutzernamen eintragen. Kleiner Tipp für alle, die neu dabei sind... Wie oben im Bild zu sehen, steht euer Benutzername vor dem @ - in meinem Fall muhamed. Dann einen Neustart durchführen und es wieder probieren. 

Die letzte Möglichkeit, welche mir bekannt ist (dank OnePlus) wäre diese:
sudo nano ~/.android/adb_usb.ini
ausführen, dann erscheint dieses leere Fenster, wie schon im Beispiel oben.
Hier die vendor ID eintragen. Sollte euch diese nicht bekannt sein, dann einfach Google danach fragen, wie z.B. "xperia z3 vendor id" und schon findet Ihr diese. STRG gedrückt halten und O drücken, mit Entertaste bestätigen und dann wieder STRG gedrückt halten und X drücken, um das Fenster zu schließen. 

Ein Neustart ist eigentlich nicht notwendig aber damit könnt Ihr nicht falsch machen...
adb kill-server beendet adb bzw. schießt es ab.
adb start-server startet adb.


Leider kann ich euch keine weiteren Tipps geben. Sollte es jetzt nicht funktionieren, dann wüsste ich beim besten Willen nicht, was man noch tun könnte. 
Was ich euch aber noch sagen kann (aus Erfahrung):
- für adb kein USB 3.0 verwenden! fastboot funktioniert bei mir mit USB 3.0 aber adb nicht!
- die Wahl des USB-Kabels ist wichtig. Es gibt Kabel, welche nur für das Laden des Akkus bestimmt sind, wie die von Anker (nicht alle aber einige). 
- bei Type C hatte ich zu Beginn richtig Probleme. Ich habe zwei Kabel vom ZUK Z1, das eine will nicht, das andere schon, beim OnePlus Type C Kabel hatte ich keine Chance (drei Stück habe ich davon). Was aber immer funktioniert hat war ein Adapter von Type C auf micro USB. Habe ein altes USB 2.0 Kabel mit Type C Adapter genutzt und das hat immer funktioniert.
- ein USB HUB (2.0) hat mir keine Probleme bereitet, nur einmal wollte es nicht aber direkt am Rechner schon. Mit dem USB 3.0 HUB gab es mit adb keine Verbindung, bei fastboot schon.
- achtet bitte bei den Anleitungen genau auf die Seite oder den Ersteller der Anleitung. Es gibt viele Seiten, welche einfach alte Anleitungen übernehmen, ohne diese zu testen. Beim ZUK zum Beispiel wird der Befehl fastboot devices nicht funktionieren, es müsste fastboot -i 0x2b4c devices sein. 
- ein sudo vor dem Befehl hilft 2016 vielen bereits weiter. Oft werden die Befehl ohne sudo aufgeführt, dabei ist es oft genau das Problem. Damit ist fastboot und nicht adb gemeint!
- viele Anleitungen beginnen mit adb devices, führen dann zu adb reboot bootloader und machen mit fastboot-Befehlen weiter. Diesen Schritt könnt Ihr überspringen, da Ihr per Tastenkombination direkt zum Bootloader springen könnt (oft ist die Rede von fastboot-mode). In der Regel findet Ihr bei Youtube ein Video, wo es euch vorgemacht wird. Die wenigsten werden dann per adb Dateien auf das Gerät kopieren (adb push ... Befehle). Sollte das aber notwendig sein, dann solltet Ihr die abd Befehle nicht überspringen, da Ihr diese später benötigt. 
- wer Android 5.1.1 auf seinem Smartphone hat, der benötigt 1.0.32. Alles darunter führt dazu, dass das Gerät nicht erkannt wird und adb einfach nicht funktioniert. Für Android 6.0.2 Marshmallow gilt natürlich das selbe. Ob es sich bei 6.1 ändert kann ich zum jetzigen Zeitpunkt nicht sagen (kann sein das 1.0.32 zu alt ist).
- bei Herstellern wie Sony gab es nie Probleme. Es lief alles gleich zu Beginn. Bei neuen Herstellern, wie OnePlus oder ZUK könnte es Probleme geben. Mit den Punkten oben sollte aber eine Lösung gefunden werden. 
- diese Punkte oben funktionieren unter Linux Mint 17.3 und Ubuntu 14.04 bzw. auch 15.10. In Zukunft - sprich Linux Mint 18 oder Ubuntu 16.04 könnte es Änderungen geben (besonders die Rechteverwaltung führt oft zu Problemen, wie beim Drucker). Achtet deshalb immer darauf, ob es nicht etwas "neues" gibt. Oft wäre das nur ein Befehl und alle eure Probleme werden damit gelöst. 
- Android baut immer mehr Sicherheit ein. In den Anleitung wird oft stehen USB-Debugging aktivieren (in Zukunft wird das durch Android-Debugging ersetzt - einfach ein neuer Name). Oft müsst Ihr die OEM-Entsperrung bzw. Bootloader-Enstperrung in den Entwickleroptionen freigeben. Sollte also der Befehl zum Bootloader entsperren nicht funktionieren, dann einfach mal schauen, ob Ihr nicht ein Feld, wie dieses im Bild, bei eurem Smartphone findet.