Hard Brick Bug na jadrách Galaxy S II a Note Leaked ICS

Odkedy nás najnovšie úniky pre rad Samsung Galaxy S2 zasiahli zľava a sprava, ľudia preskakovali medzi ROM, hlavne medzi chybnými, predbežnými verziami ICS a veľmi stabilnými GB. Toto je koniec koncov to, čo robíme na XDA ako zvyk: Vidíme únik, flashujeme ho, používame a vylepšujeme. Ak neletí, jednoducho sa vrátime späť. Samozrejme, vždy existuje riziko spojené s blikaním vecí, ktoré by v prvom rade nemali byť na vašom zariadení, ale riziko úplného zablokovania zariadenia v dnešnej dobe je pomerne malé. Najmä preto, že sú k dispozícii nástroje na privedenie vašich zariadení späť z mŕtvych, ako napr UnBrickable Mod od XDA Elite Recognized Developer AdamOutler.

Napriek tomu sa zdá, že vo svete únikov nie je všetko v poriadku. Vďaka XDA Elite Recognized Developer Entropia512, sme sa dozvedeli, že väčšina zariadení, ktoré presakujú, je vystavená veľmi vysokému riziku, že sa po záblesku už nikdy nezobudia. Ukazuje sa, že v uniknutom jadre ICS je hlavná chyba, ktorá ovplyvňuje /data oddiel v čipe eMMC, ktorý sa zjavne poškodí počas určitých operácií, ako je vymazanie a blikanie. Pôvodne sa predpokladalo, že to ovplyvňuje iba operácie vykonávané pri vlastných obnovách, ako je CWM. Objavili sa však správy o tvrdých tehlách vyrobených z lemovania z

obnovy zásob tiež. Dotknuté zariadenia sú:

  • Všetky Epic 4G Touch (SPH-D710) Úniky ICS
  • Všetky Galaxy Note (GT-N7000) Úniky ICS
  • The AT&T Galaxy S II (SGH-I777) Únik UCLD3 - a pravdepodobne aj všetky ostatné
  • Kórejské oficiálne vydania SHW-M250S/K/L a akékoľvek jadro vytvorené z ich zdroja

Entropia a ďalší vývojári zverejnili niekoľko varovaní roztrúsených po celej stránke, v ktorých podrobne vysvetľujú, čo sa deje. Náš návrh je, že používatelia by sa mali vyhýbať blikaniu ICS pred únikmi, kým nebude chyba v jadre úplne odstránená, pokiaľ samozrejme nechcete svoje zariadenie natvrdo zničiť. Pamätajte, že toto nie je niečo, čo sa dá vzkriesiť cez Unbrickable Mod alebo dokonca cez JTAG, pretože ide o chybu firmvéru v eMMC. Toto je priamo od samotnej Entropy pre tých z vás, ktorí sa zaujímajú o niečo podrobnejšie:

NEBEZPEČENSTVO: Mnoho únikových jadier Samsung ICS môže poškodiť vaše zariadenie!

Tí, ktorí venujú pozornosť dianiu s rôznymi zariadeniami Samsung, si možno všimli, že niektoré zariadenia zažívajú veľké množstvo tvrdých tehál, keď sa používajú uniknuté jadrá ICS. Tieto tvrdé tehly sú obzvlášť škaredé v tom, že predajcovia služieb JTAG neboli schopní tieto zariadenia vzkriesiť, na rozdiel od jednoduchých bootloader-korupčných pevných tehál. Je to spôsobené tým, že týmto jadrám sa v skutočnosti darí spôsobiť to, čo sa javí ako trvalé poškodenie úložného zariadenia eMMC.

Jadrá, ktoré sú potvrdené ovplyvnené, sú:

[*]Úniky ICS všetkých Epic 4G Touch (SPH-D710)[*]Úniky ICS všetkých Galaxy Note (GT-N7000)[*] AT&T Galaxy S II (SGH-I777) Únik UCLD3 – a pravdepodobne všetky ostatné[*]kórejské oficiálne vydania SHW-M250S/K/L a akékoľvek jadro vytvorené z ich zdroj

Jadrá, ktoré by mali byť bezpečné, sú:

[*]Úniky GT-I9100 ICS[*]Oficiálne vydania GT-I9100[*]Jadrá postavené zo zdrojovej základne GT-I9100 Update4

Operácie, ktoré pravdepodobne spôsobia poškodenie pri spustení ovplyvneného jadra:

Vymazanie v CWM (a pravdepodobne akékoľvek iné vlastné obnovenie) (potvrdené)

Obnovenie zálohy Nandroid v CWM (najskôr vymaže)

Flashovanie ďalšieho firmvéru v CWM (väčšina flashov sa vymaže ako prvá)

Vymazanie na sklade Obnovenie 3e (podozrenie, vymaže aj oddiel)

Odstránenie veľkých súborov pri spustení ovplyvneného jadra (podozrenie, ale nepotvrdené)

Ak máte postihnuté jadro:

Okamžite flashujte známe dobré jadro pomocou Odin/Heimdall. NEPOUŽÍVAJTE na flashovanie Mobile Odin, CWM ani inú metódu na zariadení. Známe dobré jadrá zahŕňajú:

[*]Takmer všetky Gingerbread kernel[*]ICS jadrá vytvorené zo zdrojového kódu GT-I9100 Update4

Hlavná príčina tohto problému sa ešte musí určiť, no mnohí uznávaní vývojári v XDA sa domnievajú, že je to spôsobené tým, že spoločnosť Samsung povolila funkciu v postihnuté jadrá, MMC_CAP_ERASE – Toto je výkonová funkcia, ktorá môže výrazne zvýšiť výkon flash zápisu, ale zdá sa, že prináša chybu vo flashi čipset. Jadrá GT-I9100 ICS nemajú túto funkciu povolenú a zdajú sa byť bezpečné. Nie je však dostatočne známe, aby boli všetky jadrá bez tejto funkcie vyhlásené za bezpečné - jediná entita, ktorá môže potvrdiť hlavnú príčinu tento problém a vyhlásiť ho za vyriešený bez veľkého rizika (zničenie viacerých zariadení bez možnosti ich opravy) je Samsung sami.

Vo všeobecnosti, až do odvolania, ak máte spustený únik Samsung ICS pre akékoľvek zariadenie založené na Exynos iné ako GT-I9100, dôrazne sa odporúča použiť niečo iné.

A toto sa dnes ráno objavilo aj na našom fóre, s láskavým dovolením člena XDA garwynn. Zdá sa, že spoločnosť Google bola kontaktovaná a je si vedomá problému a jeden inžinier dúfa, že bude pracovať na oprave.

Už je to nejaký čas, ale našťastie sa nám pán Sumrall z Androidu ozval s našimi otázkami. Myslím, že komunita zistí, že to stálo za to čakať.Problém: fwrev nie je správne nastavený.Ako sme mali podozrenie, oprava chýb nie je v našej zostave. (Náplasť to platí bezpodmienečne.)

Citácia:

Pôvodne odoslal Ken Sumrall

Patch obsahuje riadok v mmc.c, ktorý nastavuje fwrev na bity práv z registra cid. Pred touto opravou nebol súbor /sys/class/block/mmcblk0/device/fwrev inicializovaný z CID pre zariadenia emmc rev 4 a vyššie, a preto vykazoval nulu.(Na druhý dotaz)fwrev je nula, kým sa neaplikuje náplasť.

Otázka: Revízia nezodpovedala oprave(Zdôraznite moje červené, keď sa v ňom diskutuje o probléme supertehál.)

Citácia:

Pôvodne odoslal Ken Sumrall

Pravdepodobne máš chybu, ale rev 0x19 bola predchádzajúca verzia firmvéru, ktorý sme mali v našich prototypoch zariadení, ale zistili sme, že obsahuje ďalšiu chybu, ktorú vydal príkaz mmc erase, mohlo by to pokaziť dátové štruktúry v čipe a viesť k zablokovaniu zariadenia, kým nebolo napájané bicykloval. Zistili sme to, keď mnohí z našich vývojárov vykonávali rýchle spustenie vymazania používateľských údajov počas vývoja ICS. Samsung teda problém vyriešil a prešiel na revíziu firmvéru 0x25.Áno, je veľmi nepríjemné, že 0x19 je desatinné číslo 25, čo viedlo k mnohým zmätkom pri pokuse o diagnostiku problémov s firmvérom emmc. Nakoniec som sa naučil _VŽDY_ odkazovať na verziu emmc v šestnástkovej sústave a pred číslom uviesť 0x, aby to bolo jednoznačné.však aj keď 0x19 má pravdepodobne chybu, ktorá dokáže vložiť do flashu 32 kB núl, túto opravu nemôžete použiť na zariadeniach s revíziou firmvéru 0x19. Táto oprava robí veľmi špecifický hack na dva bajty kódu vo firmvéri revízie 0x25 a najčastejšiu opravu pravdepodobne nebude fungovať na 0x19 a pravdepodobne spôsobí v najlepšom prípade poruchu čipu a stratu údajov najhoršie. Existuje dôvod, prečo sú kritériá výberu také prísne na použitie tejto opravy na firmvér emmc.O niekoľko dní som odovzdal naše výsledky a uviedol, že súborový systém sa nepoškodil až do vymazania. Toto je odpoveď na toto pokračovanie.Ako som spomenul v predchádzajúcom príspevku, firmvér rev 0x19 má chybu, pri ktorej sa čip emmc môže zablokovať po zadaní príkazu na vymazanie. Nie zakaždým, ale dosť často. Zvyčajne sa zariadenie môže po tomto reštartovať, ale potom sa počas procesu zavádzania zablokuje. Veľmi zriedkavo sa môže zablokovať ešte pred načítaním rýchleho spustenia. Váš tester mal smolu. Keďže nemôžete spustiť ani rýchle spustenie, zariadenie je pravdepodobne zamurované. :-( Keby mohol spustiť rýchle spustenie, potom by sa zariadenie pravdepodobne dalo obnoviť pomocou kódu aktualizácie firmvéru, ktorý mám, za predpokladu, že ho môžem zdieľať. Opýtam sa.

Otázka: Prečo oddiel /data?

Citácia:

Pôvodne odoslal Ken Sumrall (Android SE)

Pretože /data je miesto, kde čip zažíva najväčšiu aktivitu pri zápise. /system sa nikdy nezapisuje (okrem počas aktualizácie systému) a /cache sa používa zriedka (väčšinou na prijímanie OTA).

Otázka: Prečo JTAG nefunguje?

Citácia:

Pôvodne odoslal Ken Sumrall

Ako som spomínal vyššie, firmvér revízie 0x19 mal chybu, že po príkaze emmc erase mohol opustiť interné dátové štruktúry čipu emmc v zlom stave, ktorý spôsobuje zablokovanie čipu, keď bol konkrétny sektor prístup. Jedinou opravou bolo vymazanie čipu a aktualizácia firmvéru. Mám na to kód, ale neviem, či ho môžem zdieľať. Opýtam sa.

Otázka: Dá sa opraviť poškodený súborový systém (na eMMC)?

Citácia:

Pôvodne odoslal Ken Sumrall

e2fsck dokáže opraviť súborový systém, ale často bolo 32 Kbajtov vložených na začiatok skupiny blokov, čo vymazalo veľa inodov, a preto spustenie e2fsck často viedlo k strate mnohých súborov.

Takže aj keď sa nás oprava momentálne netýka, dostali sme skvelý prehľad o probléme so super tehlami, ako aj informácie, že oprava je už vyvinuté (dúfajme, že sa dočkáme vydania!). Chyba sa pravdepodobne týka nás a za predpokladu, že je daná oprava firmvéru 0x19, bude sa vzťahovať na naše zariadenia.Na ľahšiu poznámku som chcel zahrnúť jeho blízkosť:

Citácia:

Pôvodne odoslal Ken Sumrall

Nahliadnete do vzrušujúceho života vývojára jadra systému Android. :-) Ukázalo sa, že úlohou je väčšinou bojovať s chybným hardvérom. Aspoň niekedy to tak vyzerá.

Kým sa to nevyrieši, vyhnite sa blikaniu čohokoľvek ICS na vaše zariadenia.

Chcete niečo zverejniť na portáli? Kontaktujte ktoréhokoľvek autora správ.

[Vďaka Entropia512 za všetku vašu tvrdú prácu!!!]