Ошибка Hard Brick в ядрах ICS Galaxy S II и Note

click fraud protection

Поскольку последние утечки о линейке Samsung Galaxy S2 обрушивались на нас направо и налево, люди прыгали между прошивками, в основном между глючными, предварительными сборками ICS и очень стабильными ГБ. В конце концов, это то, что мы делаем на XDA по привычке: видим утечку, прошиваем, используем и настраиваем. Если не полетит, просто откатываемся назад. Конечно, всегда существует неизбежный риск при перепрошивке вещей, которых вообще не должно быть на вашем устройстве, но риск полного «блокирования» устройства в наши дни довольно невелик. Тем более, что существуют инструменты, позволяющие вернуть ваши устройства из мертвых, такие как Неблокируемый мод от признанного разработчика XDA Elite АдамАутлер.

Однако в мире утечек не все так хорошо. Спасибо признанному разработчику XDA Elite. Энтропия512, мы узнали, что большинство устройств, подвергшихся утечкам, имеют очень высокий риск никогда не проснуться после перепрошивки. Оказывается, в утекшем ядре ICS есть серьезная ошибка, которая влияет на

/data раздел в чипе eMMC, который, очевидно, повреждается во время определенных операций, таких как очистка и перепрошивка. Первоначально считалось, что это влияет только на операции, выполняемые в пользовательских программах восстановления, таких как CWM. Тем не менее, были сообщения о производстве твердых кирпичей из оклада из восстановление запасов также. Затронутые устройства:

  • Все Эпическое касание 4G (SPH-D710) Утечки в ICS
  • Все Галактика Примечание (GT-N7000) утечки из АСУ ТП
  • AT&T Галакси С II (SGH-I777) Утечка UCLD3 — и, вероятно, всех остальных
  • Официальные выпуски корейских SHW-M250S/K/L и любое ядро, собранное из их исходного кода.

Entropy и другие разработчики разместили по всему сайту несколько предупреждений, в которых подробно объясняют, что происходит. Мы предлагаем пользователям избегать перепрошивки ICS из-за утечек до тех пор, пока ошибка в ядре не будет полностью исправлена, если, конечно, вы не хотите полностью заблокировать свое устройство. Помните, что это невозможно восстановить с помощью Unbrickable Mod или даже через JTAG, поскольку это ошибка прошивки в eMMC. Это непосредственно от самого Entropy для тех из вас, кто интересуется более подробной информацией:

ОПАСНОСТЬ: Многие утечки ядер Samsung ICS могут повредить ваше устройство!

Те, кто внимательно следит за тем, что происходит с различными устройствами Samsung, возможно, заметили, что на некоторых устройствах возникает большое количество «жестких кирпичей» при использовании утекших ядер ICS. Эти аппаратные блоки особенно опасны, поскольку поставщики служб JTAG не смогли восстановить эти устройства, в отличие от простых аппаратных блоков, вызывающих повреждение загрузчика. Это связано с тем, что этим ядрам на самом деле удается нанести непоправимый ущерб устройству хранения eMMC.

Подтверждено, что затронуты следующие ядра:

[*]Утечки всех ICS Epic 4G Touch (SPH-D710)[*]Утечки всех ICS Galaxy Note (GT-N7000)[*]AT&T Galaxy S II (SGH-I777) Утечка UCLD3 — и, вероятно, всех остальных[*]официальных выпусков корейских SHW-M250S/K/L и любого ядра, построенного на их основе. источник

Ядра, которые ДОЛЖНЫ быть безопасными:

[*]Утечка GT-I9100 ICS[*]Официальные релизы GT-I9100[*]Ядра созданы на основе исходной базы GT-I9100 Update4

Операции, которые могут привести к повреждению при запуске уязвимого ядра:

Вайпы в CWM (и вероятно любом другом кастомном рекавери) (подтверждено)

Восстановление резервной копии Nandroid в CWM (сначала вайпы)

Прошивка другой прошивки в CWM (большинство прошивок сначала вайпятся)

Затирание в стоковом 3е рекавери (подозреваю, тоже затирает раздел)

Удаление больших файлов при запуске уязвимого ядра (подозревается, но не подтверждено)

Если у вас поврежденное ядро:

Немедленно прошейте заведомо исправное ядро ​​с помощью Odin/Heimdall. НЕ используйте Mobile Odin, CWM или любой другой метод, встроенный в устройство, для прошивки. Известные хорошие ядра включают:

[*]Почти любое ядро ​​Gingerbread[*]Ядра ICS, созданные на основе исходного кода GT-I9100 Update4

Основная причина этой проблемы еще не определена, однако многие признанные разработчики XDA подозревают, что это связано с тем, что Samsung включила функцию в затронутые ядра, MMC_CAP_ERASE. Это функция производительности, которая может значительно повысить производительность записи во флэш-память, но, похоже, выявляет дефект во флэш-памяти. чипсет. В ядрах GT-I9100 ICS эта функция не включена и выглядит безопасной. Однако известно недостаточно, чтобы объявить все ядра без этой функции безопасными — единственным объектом, который может подтвердить основную причину эту проблему и объявить ее исправленной, не принимая на себя большого риска (уничтожая несколько устройств без возможности их ремонта) — Samsung сами себя.

В общем, до дальнейшего уведомления, если вы используете утечку Samsung ICS для любого устройства на базе Exynos, кроме GT-I9100, настоятельно рекомендуется прошить что-нибудь другое.

И это только что появилось сегодня утром на наших форумах, любезно предоставлено участником XDA. Гарвинн. Судя по всему, с Google связались, и они знают о проблеме, и один инженер надеется поработать над ее решением.

Что ж, прошло некоторое время, но, к счастью, г-н Самралл из Android ответил нам на наши вопросы. Я думаю, сообщество поймет, что ожидание того стоило.Проблема: fwrev установлен неправильно.Как мы и подозревали, исправления нет в нашей сборке. (Патч применяет это безоговорочно.)

Цитировать:

Первоначальное сообщение от Кен Самралл

Патч включает в себя строку в mmc.c, устанавливающую fwrev на биты прав из регистра cid. До этого патча файл /sys/class/block/mmcblk0/device/fwrev не инициализировался с использованием CID для устройств emmc версии 4 и выше и поэтому показывал ноль.(По второму запросу)fwrev равен нулю, пока не будет применено исправление.

Вопрос: Версия не соответствует исправлению(Выделено красным, поскольку здесь обсуждается проблема суперкирпича.)

Цитировать:

Первоначальное сообщение от Кен Самралл

Вероятно, у вас есть ошибка, но версия 0x19 была предыдущей версией прошивки, которая была у нас в наших прототипах устройств, но мы обнаружили, что в ней есть еще одна ошибка, которая, если вы выдал команду стирания mmc, это могло испортить структуры данных в чипе и привести к зависанию устройства до тех пор, пока на него не будет подано питание велосипедный. Мы обнаружили это, когда многие из наших разработчиков удаляли пользовательские данные при быстрой загрузке, пока мы разрабатывали ICS. Итак, Samsung исправила проблему и перешла на версию прошивки 0x25.Да, очень раздражает то, что 0x19 — это десятичное число 25, и это приводило к большой путанице при попытке диагностировать проблемы с прошивкой emmc. Наконец я научился _ВСЕГДА_ ссылаться на версию emmc в шестнадцатеричном формате и ставить перед числом 0x, чтобы быть однозначным.Однако, хотя в 0x19, вероятно, есть ошибка, которая может вставлять во флэш-память 32 Кбайт нулей, вы не сможете использовать этот патч на устройствах с версией прошивки 0x19. Этот патч выполняет очень специфический взлом двух байтов кода в прошивке версии 0x25, и этот патч наиболее скорее всего, не будет работать на 0x19 и, вероятно, в лучшем случае приведет к неисправности чипа и потере данных при худший. Не зря критерии отбора настолько строгие для применения этого патча к прошивке emmc.Через несколько дней я передал наши результаты, отметив, что файловая система не была повреждена до тех пор, пока не была произведена очистка. Это ответ на это продолжение.Как я упоминал в предыдущем посте, в версии прошивки 0x19 есть ошибка, из-за которой чип emmc может блокироваться после подачи команды стирания. Не каждый раз, но достаточно часто. Обычно после этого устройство может перезагрузиться, но затем зависает во время процесса загрузки. Очень редко он может зависнуть еще до загрузки fastboot. Вашему тестировщику не повезло. Поскольку вы даже не можете запустить fastboot, скорее всего устройство закирпичено. :-( Если бы он мог запустить fastboot, тогда устройство, вероятно, можно будет восстановить с помощью имеющегося у меня кода обновления прошивки, при условии, что я смогу им поделиться. Я спрошу.

Вопрос: Почему раздел /data?

Цитировать:

Первоначальное сообщение от Кен Самралл (Android SE)

Потому что /data — это место, где чип испытывает наибольшую активность записи. В /system никогда не производится запись (кроме случаев обновления системы), а /cache используется редко (в основном для получения OTA).

Вопрос: Почему JTAG не работает?

Цитировать:

Первоначальное сообщение от Кен Самралл

Как я уже упоминал выше, в прошивке ревизии 0x19 была ошибка, из-за которой после команды стирания emmc она могла оставить внутренние структуры данных чипа emmc в плохом состоянии, из-за чего чип зависает, когда определенный сектор был доступ. Единственным решением было стереть чип и обновить прошивку. У меня есть код для этого, но я не знаю, смогу ли им поделиться. Я спрошу.

Вопрос: Можно ли восстановить поврежденную файловую систему (на eMMC)?

Цитировать:

Первоначальное сообщение от Кен Самралл

e2fsck может восстановить файловую систему, но часто 32 Кбайт вставлялись в начало группы блоков, что приводило к стиранию многих индексных дескрипторов, и поэтому запуск e2fsck часто приводил к потере многих файлов.

Итак, хотя на данный момент исправление к нам не относится, мы получили подробное представление о проблеме с суперкирпиком, а также информацию о том, что исправление является уже разработан (надеюсь, мы увидим его выпуск!). Ошибка, вероятно, относится к нам, и если будет дано исправление для прошивки 0x19, то оно будет применяться и к нашим устройствам.На более легкой ноте я хотел бы добавить его заключение:

Цитировать:

Первоначальное сообщение от Кен Самралл

Вы получите представление о захватывающей жизни разработчика ядра Android. :-) Оказывается, работа в основном связана с глючным оборудованием. По крайней мере, иногда так кажется.

Пожалуйста, воздержитесь от установки чего-либо ICS на свои устройства, пока проблема не будет решена.

Хотите, чтобы что-то было опубликовано на Портале? Свяжитесь с любым автором новостей.

[Спасибо Энтропия512 за всю вашу тяжелую работу!!!]