Ошибки 9, 14, 40, 4013 на iPhone. Неисправность Nand-Flash.
Недавно к нам поступил аппарат с диагнозом «не включается». При восстановлении програмного обеспечения через iTunes выпадала ошибка 40, а это значит вышел из строя чип NAND flash.
Что такое Nand Flash в iPhone?
Nand Flash – это внутренняя память устройства.
Симптомы неисправности Flash памяти iPhone следующие:
- Аппарат перезагружается при включении;
- Устройство «виснет на яблоке» во время загрузки;
- Постоянно «слетает» прошивка;
- При попытке восстановления iOS через iTunes появляются различные ошибки.
Восстановление прошивки через iTunes — самый верный способ борьбы с различными неполадками в работе устройства.
Однако, если у iPhone существуют проблемы с Nand Flash памятью, то процесс восстановления может сопровождаться следующими характерными ошибками:
Некоторые причины неисправности:
- Падения устройства;
- Иные физические повреждения, например, изгиб приводит к потере связи чипа Nand с процессором;
- Попадание жидкости;
- Заводской брак (неточность пайки на заводе, выход микросхемы из строя).
Проблемы с памятью iPhone — это достаточно серьезная поломка, которую очень тяжело исправить самостоятельно. Главное — найти хороший сервисный центр с грамотными специалистами и необходимым оборудованием. На фото представлена поэтапная работа мастера нашего сервисного центра Remontti для iPhone 5S.
Друзья, если Вы столкнулись с подобной поломкой, ждем Вас в Remontti, чтобы предоставить качественные услуги по ремонту смартфонов. Наши адреса:
- Пр-кт Ленина 20 (цокольный этаж, режим работы с 11-19).
- ТРЦ Макси (1 этаж).
- ТРК Лотос Plaza (1 этаж).
Получить бесплатную консультацию по телефону 28-50-30
- Сервис-центр “Ремонтти”
г. Петрозаводск, пр-кт Ленина 20
- г. Петрозаводск, ТРЦ Макси Пн-Вс: 10:00 — 21:00 28-40-30 —>
- г. Петрозаводск, ТРК Лотос Plaza Пн-Вс: 10:00 — 22:00 28-50-30
- г. Петрозаводск, пр-кт Ленина 20 Пн-Вс: 11:00 — 19:00 28-25-30
Источник
Неофициальное расширение памяти iPhone или Китайская победа над Американским маркетингом
Давным-давно, когда iPhone в России стоил дорого, многие покупали залоченные на AT&T айфоны с ибей, используя прокси-сим (гевейку) для анлока. В это время начался переход на iPhone 4, где способ с повышением модема до iPad’овского (06.15.00) не работал, последним софтовым анлоком был 01.59.00 (iOS 4.0), а обновление BaseBand требовало покупки новой гевейки. Вплоть до iOS 5.0, где новый модем 04.11.08 превратил множество устройств в iPod. Именно с этого момента расцвел этот удивительный китайский бизнес.
Под катом небольшая история от 2011 до наших дней с картинками.
Впрочем, залоченные «огрызки» покупали во всем мире, ввиду того, что Apple не продавала официально-разлоченные устройства в первые дни продаж, вынуждая оформлять устройство в контракт. Да и география продаж первой волны покрывала не так уж много стран и новинка могла дойти гораздо дольше посылки из США.
Изначально это была услуга по замене микросхемы модема и флеш памяти модема на новую, после чего записывался новый IMEI, затем менялся серийный номер в микросхеме устройства. Услуга стоила 150$.
Техническая часть:
На заводе Foxconn, где собирают яблочную продукцию, используются специальные диагностические прошивки. Я уже говорил о них тут, а также готовлю продолжение.
На фото отладочный bootchain для iPhone 4
Вызывается она из recovery (iboot) при помощи команды diags. После ее исполнения экран устройства становится пурпурным. Но если ввести специальную команду, можно вывести данное меню.
Сам кабель для iPhone 5+
Общение с программой diags происходит только через serial порт, который присутствует в 30 и 8 пиновых разъемах.
Существует внушительный список ее команд
2014 год
Еще в 2013 году появилась функция Activation Lock, позволяющая превратить устройство в «кирпич», до тех пор, пока не введен AppleID и пароль хозяина устройства. Данный способ начался применяться для разблокировки оных (ведь смена IMEI+SN гарантировано снимало блокировку), однако, прибыль с продаж iPhone 4 упала ввиду морального устаревания аппарата. От отчаяния начали появляться способы аппаратного «анлока» ipad, позволяющая установить на модель cellular прошивку от wifi версии, таким образом избегая блокировки. В то время активно велись опыты по записи пустых «болванок» с новым серийным номером для разблокировки ipad wifi и ipod touch.
2015 год
Китайцы начали разрабатывать это еще в 2012 году, однако, завершить удалось только сейчас. Сотрудник Foxconn проносит материнскую плату iPhone 6 на завод и прошивает диагностическую прошивку. В разрыв между NAND и платой ставится «каретка», позволяющая осуществлять горячее переключение bga NAND микросхемы.
Происходит это так: устанавливается nand с прошивкой, затем через dev bootchain загружается программа diags в озу, после чего происходит горячая смена микросхемы и производится изменение серийного номера на заданный.
Само устройство выглядит так:
Купить их можно даже на алиэкспрессе, как и «болванки» NAND.
Таким хитрым образом удается увеличивать память до 128 и даже до 256 гб (правда один чип обойдется в 800 юаней и продается в ограниченных количествах)
На последок видео сего процесса:
Впрочем, история еще не закончилась. Она происходит прямо сейчас, но ввиду экономических проблем в РФ, этот бизнес пока не прижился. К слову, оборудование стоит
$800, что в пересчете по курсу «курильщика» — 64к рублей + болванки памяти.
Источник
NANDкромантия: трансплантация флэш-памяти наживую
Нередко при анализе встроенной системы происходят преднамеренные, а иногда и нет, изменения, которые приводят к тому, что целевая система выходит из строя и впадает в так называемое состояние «кирпича». В некоторых случаях для ее реанимации достаточно выполнить сброс к заводским настройкам, в иных же приходится прошивать систему при помощи интерфейса отладки (JTAG/SWD/*) или вручную через внешнее устройство памяти (SPI/NOR/Nand/eMMC). В данной статье мы рассмотрим весьма креативный метод «раскирпичивания» системы после подобного сбоя.
Как-то в свободное время я возился с памятью маршрутизатора, где в качестве загрузчика использовалась прошивка CFE (Common Software Environment). В ходе моего взаимодействия с CFE в попытке определить аргументы, передаваемые при загрузке в ОС устройства, конфигурация системы была случайно повреждена:
В тот момент я понял, что для сохранения этих случайных изменений осталось выполнить заключительную операцию сохранения/записи, поэтому решил просто физически перезапустить устройство, чтобы избежать внесения изменений. После перезапуска возникла ошибка:
Когда маршрутизатор снова заработал, то тут же выдал вышеприведенную ошибку и в CFE не вошел. Без возможности обратиться к загрузчику конфигурацию изменить было нельзя, а процесс его восстановления тоже не представлялся возможным. Онлайн-поиск решения по этой ошибке ничем не помог и привел в тупик. Единственным выводом было, что при повреждении CFE подобным образом устройство впадает в состояние «кирпича». Тогда я переключился на работу с резервным девайсом, чтобы получить ответ на изначальный вопрос по интересовавшим меня аргументам. К слову говоря, установка kernp mfg_nvram_mode=1 mfg_nvram_url=BADURL была особенно интересна.
Позже я вернулся к своему «кирпичу», чтобы найти способ его восстановления. В нем используется Broadcom SoC, и, как выяснилось, доступ к JTAG обеспечивается через нераспаянные контакты на плате:
После перебора контактов JTAG с помощью JTagulator мне удалось подключиться, используя OpenOCD.
Другой способ восстановления системы реализуется через флеш-память, а именно микросхему Macronix NAND:
И здесь я задумался. У меня ведь есть рабочее устройство, на котором я вполне могу запустить загрузчик. А что, если при этом попробовать заменить его рабочий чип NAND на поврежденный, чтобы перепрошить?
Прежде, чем что-либо пробовать, я спросил коллегу, что он думает по поводу столь дурацкой идеи. Оптимистичных прогнозов он не дал, да и я, честно говоря, на них не особо рассчитывал. В итоге мы заключили небольшое пари по результату моего эксперимента, и я вернулся к работе.
Первым делом предстояло выяснить, переживет ли система удаление NAND в работающем состоянии? Я понимал, что для ответа на этот вопрос мне потребуется более методический подход, нежели просто «обдать работающее устройство горячим воздухом и извлечь микросхему». Для начала нужно было выяснить, как NAND запитана. Судя по схеме, Vcc подключены к микросхеме в следующих местах:
Определив дорожки подключения Vcc, проще всего ответить на основной вопрос можно было отключив их от NAND при работающей системе. Чтобы это сделать, изначально я попробовал отсечь эти дорожки и добавить проводные перемычки (рекомендую 36 AWG Magnet Wire), которые можно будет разъединить после запуска загрузчика:
С правой стороны я отсек трассу питания подальше, решив, что это место будет более удачным, поскольку от него запитывается несколько контактов NAND. При установке первой перемычки трассу я отсек небольшим ножом и зачистил покрытие абразивным карандашом:
Получилось так себе, потому что карандаш оказался великоват, и в итоге я оголил чересчур большой участок. Лучше использовать остроконечный нож, чтобы не натворить бардак и получить что-то подобное:
Припаяв и соединив провода, я запустил маршрутизатор и, дождавшись старта загрузчика (CFE), с помощью команды dn (dump nand) убедился в доступности NAND, затем обесточил микросхему, разъединив провода.
После отключения питания (отмечено как Vcc removed ), устройство перезагрузилось и не смогло запустить загрузчик, так как NAND была недоступна. Проблема оказалась в том, что точка отсечения питания справа отключала его подачу не только на NAND, но и на SoC. Чтобы не усложнять, я просто восстановил этот отрезок и проделал всю ту же процедуру с установкой перемычки в точке ближе к NAND:
Вернув систему в строй и повторив предыдущий тест, я получил ответ на изначальный вопрос: когда питание отключается разъединением проводов перемычки, система продолжает работать, что подтверждается командой dn :
После того, как я убедился в возможности отключения NAND на работающей системе без влияния на загрузчик, очередным шагом было попробовать физически извлечь отключенную NAND из платы.
Прогрев микросхему горячим воздухом, я поочередно приподнял пинцетом сначала правую, а затем левую стороны:
В результате этого процесса система перезапустилась и провалила попытку войти в загрузчик:
Так как стороны микросхемы при ее отсоединении я поднимал поочередно, посматривая при этом в консоль, то стало очевидно, что перезагрузка произошла при подъеме именно левой стороны:
Наиболее вероятной причиной было изменение состояния контактов Read Enable (RE#) или Ready/Busy (R/B#). Чтобы это проверить, я добавил к обоим перемычки:
Тут NAND пришлось установить на место, чтобы вернуть систему в загрузчик. Затем я в очередной раз отключил ее питание, разъединив ведущие на Vcc провода, а дорожкиRE# и R/B# привязал к земле:
Затем я снова поочередно извлек правую-левую стороны микросхемы, поглядывая в консоль загрузчика:
На этот раз он остался активен, и система в перезагрузку не ушла. Закончив очередной этап головоломки, я перешел к следующему – установке поврежденной NAND в работающее устройство.
Для припаивания NAND снова использовался горячий воздух. Первая попытка оказалась безуспешной, так как некоторые контакты замкнуло при моей попытке выровнять чип по обеим сторонам. На этом этапе ввиду сбоя в очередной раз пришлось ставить обратно рабочую NAND.
Во второй попытке я уже использовал небольшой листок бумаги для изолирования одной стороны NAND на время выравнивания и закрепления другой:
После установки первой стороны бумажку я убрал и припаял вторую. Загрузчик остался активен. Следующим шагом нужно было восстановить контакты RE#, RB# удалением заземляющей перемычки, а также вновь соединить перемычку Vcc. После окончательного восстановления подключения я выполнил dn , чтобы убедиться в доступности NAND:
Тест чтения завершился успешно, и через веб-интерфейс загрузчика я прошил микросхему заводским образом:
Как видно из вывода, прошивка прошла успешно, и система загрузила ОС устройства.
Уверен, некоторые читатели спросят: «Почему просто не использовать для перепрошивки NAND специализированный программатор?» Это абсолютно уместный вопрос, и, быть может, так даже правильнее, чем заниматься всей этой чепухой.
И все же считаю, что здесь будет уместна цитата персонажа из к/ф «Парк Юрского периода», которого играл Джефф Голдблюм:
Ваши ученые настолько озабочены вопросом о том, могут ли они что-то сделать, что забывают приостановиться и подумать, а надо ли вообще это делать.
Источник