Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano

Chwytliwy temat :)

 

Otóż piszę, tego posta w dziale Bugi, ponieważ jest to jednocześnie raport z błędu w romach i ostrzeżenie przed kompletnie nieświadomym działaniem użytkownika.

 

 

Bug:

 

Instalacja romu MIUIPolska dla MiNote PRO używając MiRecovery na dowolnym telefonie Redmi może spowodować brick bardzo konkretny i jedynie testpoints z płyty głównej może odratować urządzenie.

Czemu Redmi? Nie testowałem tego oczywiście, ale prawdopodobnie urządzenia z dual system czyli Mi2/Mi3/Mi4/MiNote są bezpieczne z uwagi na zdublowane partycje systemowe.

 

Jak?

 

Nie znam wyjaśnienia czemu tak się dzieje ale na podstawie zgłoszenia poszkodowanego wychodzi na to, że istnieje zbieg okoliczności (przypadek), dzięki któremu instalacja nieprawidłowego romu uwala telefon. 

 

Jak to odtworzyć?

 
1. Pobranie romu MIUIPolska (lub Xiaomi.eu) z urządzenia Leo lub Ferrari (MINote PRO lub Mi4i) pomimo posiadania innego telefonu.
2. Instalacja przez update.zip w recovery
3. Brick

 

 

To MIUI nie wykrywa, że instaluje nie ten rom co trzeba?

 

Wykrywa ale między rodziną Androida 4.4. Niestety rom leo i ferrari w updater-script (pliku instalacyjnym wykonywanym w recovery) z uwagi na Androida 5.0 wykrywa nazwę urządzenia przez:

get_device_compatible("leo") == "OK" ...

Natomiast Android 4.4:

getprop("ro.product.device") == "HM2014813" ...

Podejrzewam, że po prostu recovery 4.4 pomija funkcję z 5.0, której nie zna pozwalając na instalację. 

Tu rom Leo Android 5.0 na Redmi 2 (użytkownika) Android 4.4. Jest to raczej bug w kodzie MiRecovery.

 

Dalej idą te same komendy dla 4.4 i 5.0:

 

leo:

http://dpaste.com/25ZSWPT

 

Android 4.4:

http://dpaste.com/0YEVQWZ

 

Prawdopodobnie ten flash bloków partycji systemowych uwala telefon.

Natomiast czemu taki proces spowodował nawet popsucie fastboota (użytkownik zgłaszał to) to nie mam pojęcia...

 

 

Jak się uchronić?

- czytać instrukcję instalacji: http://miuipolska.pl/instalacja-xiaomi/ :)

 tam podane są dokładne kroki i co więcej nazwy kodowe urządzeń.

- oglądać obrazki: na naszej stronie każdy telefon ma swoją fotkę i przyporządkowany mu rom zip. 

- pytać na forum w razie niewielkiej nawet niepewności. Na takie pytania na forum dostaje się odpowiedź... nakazującą przeczytanie instrukcji ;p

 

Mało prawdopodobne?

 

Tak, bo trzeba naprawdę niezłego przypadku... i niestety dużej niewiedzy użytkownika by zainstalować pierwszy lepszy rom (i tu akurat Androida 5.0) na nieswoje urządzenie. 

 

Czy telefon da się uratować?

 

Nie wiem. W tygodniu klient przyśle go na serwis. 

Opublikowano

"urządzenia z dual system czyli Mi2/Mi3/Mi4/MiNote są bezpieczne z uwagi na zdublowane partycje systemowe."

tylko że skoro w redmi rozwalone jest wszystko łącznie z fastbootem... to nie byłbym tego taki pewien że te Xiaomy z dual systemem by to przeżyły. W każdym bądź razie radze tego nie testować ;P

Opublikowano

Tu akurat nie wiem. Mam np. w serwisie też Redmi 2, któremu użytkowniczka zrobiła jakiś tam update (ponoć zwykły przez Aktualizacje) i flash właściwego romu fastboot nie działa. Skrypt nie może nic zapisać w pamięci (can't write partition) tak jakby pamięć była read-only. Ale tu fastboot wchodzi. Także na moje to Redmi 2 jest znowu jakimś shitem jak był Redmi 1S. Też cuda tam się działy i łatwo się brickowało ten telefon. 

 

Zresztą mały wycinek z fastboota dla dual system:

fastboot $* flash modem+modem1 `dirname $0`/images/NON-HLOS.bin
fastboot $* flash system+system1 `dirname $0`/images/system.img
fastboot $* flash cache `dirname $0`/images/cache.img
fastboot $* flash userdata `dirname $0`/images/userdata.img
fastboot $* flash recovery `dirname $0`/images/recovery.img
fastboot $* flash boot+boot1 `dirname $0`/images/boot.img

Widzisz? Fastboot instaluje modem.img na modem i modem1, system.img na system i system 1 i boot.img na boot i boot1.

Co to znaczy? To znaczy, że Updater przy normalnej aktualizacji instaluje rom tylko na drugi system toteż instaluje boot, modem i system tylko raz. Druga partycja ma nieruszone bloki. 

 

W telefonie dualboot:

package_extract_file("boot.img", "/dev/block/bootdevice/by-name/boot");

Nie uwali to telefonu bo jest jeszcze druga partycja gdzie boot (kernel, ramdisk) jest prawidłowy.

W single boot jest problem.

 

Moim zdaniem widać tu ładnie do czego przydatny jest dual system i dlaczego Mi zawsze były lepsze od Redmi.

Opublikowano

No właśnie mój kolega też jakoś przy aktualizacji uwalił redmi 2.

Miflash przechodzi ale nie wstaje.

Recovery nie działa.

Telefon idzie do wymiany.

  • mrosi zablokował(a) ten temat
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
×
×
  • Dodaj nową pozycję...