DFU-режим: зачем он нужен, как ввести и вывести телефон из режима DFU? Возможные способы ввести iPhone в режим DFU.

В этом материале мы расскажем о специальном низкоуровневом режиме восстановления iPhone , iPad и iPod Touch который называется DFU (Device Firmware Update) .

Вконтакте

DFU Mode - специальный низкоуровневый режим устройства, при котором не используется загрузка операционной системы . При помощи USB-подключения на устройство поступают исключительно сигналы технической информации.

Вот здесь стоит подчеркнуть принципиальное отличие в iPhone между DFU и Recovery mode, чтобы неопытные пользователи перестали их путать:

  1. Recovery Mode действует в рамках операционной системы, считается более «мягким» и не требует для своего включения iTunes.
  2. DFU работает в обход операционки – на аппаратном уровне. Поэтому является более эффективным.

Как включить первый режим здесь рассматриваться не будет – поэтому если на экране айфона появился значок айтюнс и USB-кабеля, можно смело начинать процедуру сначала.

Более сложный метод перевести iPhone в режим восстановления DFU:

  1. Для начала нужно полностью выключить айфон.
  2. Теперь на три секунды зажимается кнопка Power, потом нажимается кнопка Home, держатся вместе 10 сек, после, точно также как и в первом случае, Power отпускается, а Home продолжает удерживаться.

Снова неудача? Однако, странно это… Тогда для особо удачливых юзеров есть программа iReb, которая подскажет как перевести iPhone в нужный режим.

Легковесная утилита проконтролирует ввод iPhone в необходимый режим DFU – надо лишь выбрать подходящее устройство, список которых начинается от iPhone 3g и заканчивается на iPhone 4s (что не мешает использовать iPhone 5s, iPhone 6s и iPhone 7), а далее только следовать инструкциям, появляющимся на экране.

Опять не получилось? Вполне возможно, что кнопка Home отказывается подчиняться. В этом случае поможет программа RedSn0w. Нужно запустить iTunes, подключить айфон и открыть эту утилиту. Потом только останется кликнуть на кнопку pwned DFU, чтобы айтюнс маякнул об успешном вхождении в режим восстановления.

Допустим, получилось, и все нужные процедуры сделаны. Как привести аппарат в прежнее состояние?

Как вывести iPhone из DFU?

Всё просто – чтобы произвести выведение нужно удерживать кнопки Home и Power на протяжении 10 сек, тем самым перезагрузив устройство.

Небольшой нюанс, перед тем как вывести iPhone из особого состояния: не надо, не выполнив вышеописанных действий, сразу отключать шнур от ПК.

А иначе тут может возникнуть другая проблема – капризный гаджет не пожелает выходить из режима DFU. Почему так происходит и что делать?

Происходит это по причине банального сбоя в работе системы, даже если это iPhone 7. Порой выводить смартфон из злополучного режима помогают такие программы как TinyUmbrella, RedSn0w, RecBoot и iReb. Как вернуть смартфон в нормальное состояние посредством RedSn0w?

Нужно лишь снова зайти в прежний режим с помощью этой программы, после чего попробовать выйти из DFU посредством перезагрузки.

Всё бесполезно и опять же непонятно как выйти из режима восстановления? Тогда можно попробовать передёрнуть аккумулятор. Правда, для этого придётся снимать заднюю крышку с помощью отвёртки и присоски. Непростая порой задача…Кстати, в некоторых случаях, после удачного вскрытия может помочь замена АКБ.

iPad время от времени необходимо переводить в режим DFU, чтобы установить новую прошивку, сделать джейлбрейк или снова получить доступ к iPad в случае, если пароль забыт. Данную инструкцию также можно использовать и для iPhone.

Для iPad или iPhone режим DFU очень важен, даже если он и используется редко. Потому что режим DFU означает "Режим обновления прошивки оборудования". Прошивкой в данном случае является операционная система iPad или iPhone, то есть iOS. Применение не ограничивается только обновлением, то есть актуализацией прошивки, также можно произвести откат, то есть возврат к более старой версии iOS.

Это имеет смысл, например, если вы недавно установили новую систему iOS 5 и выяснили, что в ней часто возникают ошибки или приложения запускаются не так, как хотелось бы. На данный момент для системы iOS 5 еще не существует джейлбрейка.

Джейлбрейк

Джейлбрейк или "Побег из тюрьмы" устраняет ограничения фирменной прошивки iOS от Apple, без официальной поддержки Apple. Если джейлбрейк удался, можно устанавливать приложения, которые не предлагает Apple. В ином случае нужно снова восстановить официальную iOS - и для этого снова использовать режим DFU.

Забыли пароль?

Другая важная функция режима DFU- это восстановление пароля. Если вы забыли пароль или кто-то ввел в защищенный Pad ради шутки неправильный пароль, доступ закрыт. В таком случае в режиме DFU вы снова загружаете прошивку. Хотя при этом и теряются настройки или, возможно, данные, но их потом можно заново загрузить в iTunes. Конечно, это действует только в том случае, если вы регулярно синхронизируете iPhone или iPad с iTunes.

Как перевести iPad или iPhone в режим DFU

Вызов режима DFU при помощи следующей инструкции происходит очень просто и не занимает много времени:

1. Подключите iPad или iPhone при помощи кабеля USB к персональному компьютеру или Mac.

2. Вызовите iTunes на компьютере или Mac.

3. Одновременно нажмите кнопку Power в верхней правой части экрана и круглую кнопку Home и удерживайте их. При этом медленно считайте до 10 или следите по часам, когда пройдет 10 секунд (правило 10-ти секунд). По истечении 10 секунд отпустите кнопку Power, но продолжайте удерживать кнопку Home еще несколько секунд.

4. Проверьте, действительно ли вы перешли в режим DFU. Экран должен быть полностью черным, без красного ползунка или логотипа Apple. iTunes отображает сообщение "iTunes обнаружила iPhone, находящийся в режиме восстановления ".

5. Теперь можно восстановить iPhone или iPad или установить новую прошивку, а также новую iOS.

Восстановление iPhone или iPad с джейлбрейком может привести к отображению ошибки в iTunes. В этом случае необходима инструкция, подходящая для определенного джейлбрейка, как поступать в случае возникновения такого сообщения об ошибке. Часто для этого необходимо дополнительное программное обеспечение.

Очень часто во время использования девайса на iOS встает вопрос перепрошивки. Прошить девайс может практически любой человек на планете, ведь на самом деле в этом процессе нет абсолютно ничего сложного. Даже если вы не особо знакомы с самой iOS, прошить ее вы сможете в любом случае. Другой вопрос заключается уже в том, что будет, если вы что-то сделаете не так, а также какие проблемы могут возникнуть во время процесса прошивки. Сегодня мы с вами полностью разберемся в процессе прошивки, посмотрим на подводные камни и узнаем все тонкости.

Прошивка

Что ж, давайте начнем пожалуй именно с самой прошивки. Особо полезных знаний тут я не предоставлю, но если вам по-настоящему интересно, то можете вчитаться. Прошивка iPhone \ iPad \ iPod Touch - это файл в формате IPSW, который на самом деле является переименованным zip архивом с максимальной степенью сжатия. Вообще существует аж четыре вида прошивок:

  • Официальная - созданная программистами Apple для самих iPhone, она распространяется через iTunes и полностью бесплатна для обладателей iPhone, но вот за прошивку для iPod придется заплатить.
  • Бета-прошивка - официальная, но доступна только Apple Developer с сертификатом разработчика приложений (который сам по себе стоит 99 долларов). Прошивки в бета-версии выходят до официального релиза полноценной версии, и существуют они для поиска проблем, ошибок в системе.
  • Кастомная прошивка обычно создается с помощью программ PWNage Tools и Sn0wbreeze, и идет она обычно сразу с джейлбрейком. Официально такие прошивки запрещены, поэтому во время их установки возникает больше всего проблем.
  • NOR-Only прошивка - прошивка по сути родственная Кастомной, не изменяет файловой системы, а прошивает исключительно чипы в которых хранятся такие данные как Boot \ Recovery logo.
  • Собственно, теперь давайте углубимся в состав самих файлов IPSW. Для этого нужно просто открыть его обычным архиватором.

    • 018-5540-599.dmg и 018-6461-399.dmg - DMG т.е. образ диска в Mac OS X, эти два файла могут иметь любую нумерацию, и от прошивки к прошивке они постоянно меняются. Отличить их можно только по размеру, ведь сами по себе они намного меньше третьего файла, о котором мы поговорим далее. Эти файлы - образы оперативной памяти для двух чипов, один из образов - восстановления, второй - обновление. Не стоит трогать эти файлы.
    • 018-7319-141.dmg - образ полной файловой системы iPhone, закрыт ключем шифрования у Официальных прошивок, и свободен редактировании для кастомных.
    • BuildManifest.plist - файл с настройками для iTunes, несет в себе информацию о том, что есть в этом IPSW файле, а также ключи для проверки изменения прошивки. Проверку такую делает сам iTunes, кстати.
    • kernelcache.release.n88 - kernel, т.е. ядро операционной системы, опять же трогать не рекомендую.
    • Restore.plist - еще один файл настроек для iTunes, который включает в себя информацию об устройстве, для которого предназначена прошивка, версия и т. п.

    • Firmware - папка. Все данные из нее - исключительно системные, и прошиваются они в множественные микросхемы на материнской плате девайса, после самой прошивки они не будут вам доступны вообще.
    • =dfu - папка с двумя файлами для... режима DFU, о котором мы поговорим ниже.
    • ==iBEC - так называемый Fake DFU т.е. ложный режим стабилизации, на самом деле является пониженной версией iBoot, которая загружается из LLB (Low Level Bootloader) при неисправностях с основным загрузчиком, для перепрошивки.
    • =all_flash - папка в которой содержатся img3 файлы (защищенные образы чипов), в ней так же присутствует папка all_flash.******.production ****** которой заменен буквами\цифрами согласно версии сборки.
    • ===applelogo.s5l8920x.img3 - а вот это уже более интересно простым смертным, ведь это самая настоящая картинка, показываемая при загрузке устройства!
    • ===batterycharging0.s5l8920x.img3 , batterycharging1.s5l8920x.img3 , batteryfull.s5l8920x.img3 , batterylow0.s5l8920x.img3 , batterylow1.s5l8920x.img3 , glyphcharging.s5l8920x.img 3 - файлы которые отвечают за изображения зарядки\разрядки пока устройство выключено.
    • ===DeviceTree.n88ap.img3 - "карта" устройства, предназначенная для защиты от прошивки процессора или акселерометра вместо модема, например.
    • ===glyphplugin.s5l8920x.img3 - этот файл известит пользователя, если он вдруг забудет подключиться при выключенном девайсе.
    • ===iBoot.n88ap.RELEASE.img3 - iBoot - система загрузчика операционной системы, не путать с Bootloader, в отличии от последнего iBoot вполне себе прошивается.
    • ===LLB.n88ap.RELEASE.img3 - Low Level Bootloader - практически тоже самое что и iBoot но если последний загружает iOS, то LLB управляет WTF \ iBEC \ iBSS Mode
    • ===manifest - аналог Manifest.plist только на этот раз только о img3
    • ===recoverymode.s5l8920x.img3 - Recovery Mode, благодаря которому мы вообще можем перепрошить девайс.
    • Что ж, давайте теперь рассмотрим саму процедуру прошивки

Перепрошивка

Есть два варианта перепрошивки:

Обновить - самый стандартный вариант, который используется при обновлении системы, и Только при нем. Все файлы в системе остаются на месте, если только это не глобальное обновление (при нем в версии меняется 1 цифра версии).
Восстановить - более продвинутый вариант, которым пользуется большинство. Это именно восстановление, которое нужно для исправления ошибок устройства, для понижения версии прошивки или установки кастомной прошивки.

В первом варианте делать практически нечего. Используйте этот вариант только в том случае, если ваш девайс полностью исправен. При этом обновлении ваши файлы останутся на месте, а ваше вмешательство в процесс вообще не требуется. Просто жмите кнопку и отдыхайте.

Восстановление - это уже более сложный процесс. Во время восстановления ваш телефон будет отформатирован, а после него мы даже увидим следующее сообщение:

После восстановления вы можете выбрать два варианта - настроить телефон как абсолютно новый девайс, либо вернуть все свои настройки и файлы на него. Последний вариант можно осуществить только в том случае, если вы не забыли сделать бэкап своих файлов в iCloud. БУДЬТЕ ВНИМАТЕЛЬНЫ , ведь это очень важно ! Если вы не сделаете резервное копирование, то все ваши файлы будут в дальнейшем не доступны! Знайте, что первый вариант восстановления Рекомендуется в том случае, если ваш телефон был восстановлен после серьезных ошибок. Ну тут ситуация похожа на ту, что складывается во время переустановки Windows - если не оставить винчестер отформатированным, то множество ошибок может перенестись с него на новую систему.

Теперь скажу вам о том, как заставить iTunes восстановить девайс той прошивкой, какую именно хотим мы. Для этого дела нажмите на Shift (Windows) или Alt (Mac OS X) и нажмите на кнопку Восстановить, а затем выберите нужный файл IPSW.

Сразу после выбора файла iTunes начнет работу. Сначала он извлечет старую прошивку, затем загрузит новую, прошьет Flash и модем, проверит прошивку, включит телефон, активирует прошивку и восстановит девайс из резервной копии, если таковая присутствует.

Тонкости

Первый вопрос, который возникает у человека, захотевшего перепрошить свой девайс - "что такое DFU "? Большинство пользователей просто не знают, как перевести свой iPhone в режим восстановления или DFU. Сейчас я представляю вам всеизвестную инструкцию по вводу девайса в режим Recovery Mode.

Recovery Mode - штатный режим, в котором операционная система отключена, соединение через USB открыто. Любая прошивка проводится через этот режим - даже если вы делаете простое обновление, телефон будет использовать режим восстановления. В самом iTunes девайс распознается как Устройство в режиме стабилизации.

Как ввести iPod Touch /iPhone в режим восстановления (Recovery Mode):

  1. Полностью выключить iPod touch или iPhone и отключить от USB.
  2. Появится заставка, но кнопку «Home» не отпускать.
  3. Спустя 5-10 секунд появится логотип iTunes с USB.
  4. Появится сообщение: «iTunes обнаружила iPod/ iPhone, находящийся в режиме восстановления. Для использования этого iPod/ iPhone вместе с iTunes необходимо восстановление настроек плеера/телефона».

Как вывести iPod Touch/iPhone из режима восстановления (Recovery Mode):

  1. Полностью выключить iPod touch или iPhone.
  2. Отключить USB, нажать «Home» и удерживать.
  3. Нажать кнопку включения (2 сек.) и отпустить, продолжая удерживать «Home».
  4. Подождать, пока устройство загрузится.

Режим DFU - более серьезный, "Брутальный" режим. По кабелю USB будут отправляться только сигналы техинформации, в этом режиме всегда и полностью восстанавливаются все настройки, прошивается флеш-часть девайса. Во время работы режима вы не увидите ничего на дисплее девайса, и только на мониторе компьютера iTunes оповещит вас о включенном DFU.

  1. Подключить USB и полностью выключить устройство.
  2. Нажать одновременно две кнопки (Home и Вкл/Выкл) и удерживать в течение 10 сек.
  3. На 11 секунде отпустить кнопку "Вкл/Выкл" и продолжать удерживать «Home» еще в течение 10 сек.
  4. На экране не должно ничего появиться. Если у вас появилась заставка (яблоко), следует повторить попытку.
  5. iTunes должен выдать сообщение такого вида: «iTunes обнаружила iPod, находящийся в режиме восстановления. Для использования этого iPod вместе с iTunes необходимо восстановление настроек плеера».

  1. В режиме DFU на экране не должно ничего отображаться.
  2. Одновременно нажать две кнопки (Home и Вкл/Выкл) и удерживать 10 сек. По истечении времени обе кнопки отпустить.
  3. Включить девайс, как обычно.

Как ввести iPod Touch /iPhone в режим восстановления (Recovery Mode ):

  1. Полностью выключите iPhone или iPod touch. И отключите от USB.
  2. Нажать кнопку «Home» и удерживая ее, подключить USB.
  3. После появления яблока, продолжать удерживать «Home».
  4. Спустя 5-10 сек. отобразится логотип iTunes с USB. Вы вошли в режим восстановления. Устройство покажет такое сообщение:

Как Вывести iPod Touch/iPhone из Режима восстановления (Recovery Mode ):

  1. Полностью выключите устройство.
  2. Отсоедините USB, нажмите «Home» и удерживайте. Нажмите на 2 сек. кнопку Вкл/Выкл. и отпустите, продолжая нажимать «Home».
  3. Ждите запуска устройства.

Как ввести iPod Touch/iPhone в режим DFU:

  1. Подсоедините USB и полностью выключите iPhone.
  2. Нажмите одновременно две кнопки (Вкл/Выкл и «Home») и удерживайте 10 секунд.
  3. Отпустите на 11 секунде кнопку "Вкл/Выкл" и продолжайте удерживать «Home» еще 10 секунд.
  4. Экран должен быть пустым. Если отобразится яблоко, повторите процесс.
  5. Если все в порядке, гаджет выдаст сообщение:

Как вывести iPod Touch/iPhone из режима DFU:

  1. В режиме DFU экран должен быть пустым.
  2. Одновременно нажмите две кнопки (Вкл/Выкл и «Home») и держите в течение 10 секунд. Затем обе кнопки отпустите.
  3. Включите устройство обычным способом.

Вроде бы с этим все понятно, верно? Теперь давайте перейдем к некоторым особенностям.

Стоит отметить, что на iPhone 3Gs, iPhone 4, iPad, iPod Touch 3 появилась система подписи прошивок, благодаря которой вы не сможете восстановить прошивку с версией ниже той, что признана стабильной самой Apple. В общем, если на данный момент последняя стабильная 3.1.3, а вы обладаете одним из выше перечисленных девайсов и хотите восстановиться на прошивку 3.1.2 то произойдет ошибка, и восстановление прервется. Конечно, эту систему можно и обойти (как и можно обойти что угодно в нашем цифровом мире).

Во-вторых, для установки бета-версии официальной прошивки ваш UDID (Universal Device ID) должен быть занесен в действительный аккаунт Apple Developer с оплаченным сертификатом. Но как и во всех случаях, это ограничение можно также обойти - достаточно просто удалить обозначение бета-версии в SystemVersion.plist.

В-третьих, знайте, что перепрошивка - это решение практически всех проблем на программном уровне, и если ваш девайс продолжает демонстрировать нестабильную работу и ошибки, то тут уже проблема явно в самом железе.

Ну и естественно, вы должны иметь джейлбрейк, если решили поставить кастомную прошивку. Иначе вас ждет ошибка и тотальный ужас. Шучу, конечно, но все же факт присутствия джейла обязателен.

Самые популярные вопросы, взятые нами со всех форумов подряд:

Q. Я могу сломать свой девайс при перепрошивке?
A. Нет, не сможете, даже если не получится перепрошить, всегда есть второй шанс.

Q. Установил из Сидии программу **** после перезагрузки загорается яблоко и все.
A. Используйте DFU\Recovery чтобы восстановить устройство.

Q. Перепрошивать можно только в iTunes?
A. Нет, еще можно через SDK Organizer и iDeviceRestore, первое только для официальных разработчиков Apple, второе только для Линуксоидов. Итого - лучше iTunes пока ничего нет.

Q. У меня заблокированнный под симку телефон, и модем версии для которой нет анлока, если я перепрошью телефон модем понизится?
A. Нет, модем не понижается.

Q. У меня iPhone 3Gs с новым бутромом, я могу прошить его прошивкой N, чтобы бутром стал старым?
A. Нет, бутром перепрошить невозможно.

Q. Перепрошил телефон, настроил как новый, но в графе "Другое" занято 100-200 Мб, что это?
A. Это все что только можно, как правило остается от перепрошивки, и чем больше шьете телефон тем больше объем, хотя обычно рост этой графы замирает на отметке от 200 до 300 Мб.

Q. У меня телефон с джейлбрейком, если его перепрошить то он исчезнет?
A. Да.

Q. А анлок?
A. Тоже исчезнет.

Q. А программы из Cydia?
A. Вместе с джейлом.

Собственно, это все, что вы должны знать о процессе прошивки своего девайса. Надеюсь, теперь у вас не возникнет проблем. Если все же есть вопросы - отписывайтесь в комментариях.

Переход в DFU режим на всех смартфонах от Apple происходит одинаково. Если Вы не знаете как войти в эту функцию, следуйте нашим инструкциям.

1. Процедура перехода

Чтобы перевести любой Айфон в режим DFU, сделайте вот что:

  • С помощью кабеля USB подключите свой аппарат к компьютеру. В данном случае операционная система на ПК/ноутбуке должна быть либо Windows, либо Mac, причем с установленной программой iTunes (но пока ее не запускайте). Если у Вас нет этой программы, скачайте ее с сайте apple.com и установите.
  • В подключенном состоянии выключите iPhone. Для этого удобнее всего просто зажать кнопку включения, она же «Power» (находится сбоку или сверху). Также можно одновременно зажать кнопки «Home», она же «Домой» (большая, круглая, находится под экраном на лицевой стороне устройства), и вышеупомянутую «Power». Если Вы выбрали второй вариант, держите эти две кнопки в нажатом состоянии ровно 10 секунд (не меньше). Запустите iTunes на компьютере.

Подсказка: В Айфоне 6 кнопка включения и выключения («Power») находится сбоку. Это единственная разница, если говорить о том, как ввести разные модели смартфонов от Apple в режим восстановления и обновления.

  • По прошествии 10 секунд отпустите «Power», при этом «Домой» не отпускайте. Удерживайте кнопку «Home», пока на компьютере не появится сообщение, показанное на рисунке №2. Оно свидетельствует о том, что подключенное устройство находится в режиме восстановления. Собственно, это нам и нужно.

Важно! Процесс перехода в нужный режим от момента, когда Вы отпустили кнопку «Power», но держите кнопку «Home», может занимать порядка 30 секунд, а в некоторых случаях до минуты. Не отпускайте кнопку! Если по прошествии минуты ничего не происходит, начните все сначала.

Также помните, что при переходе в DFU на экране смартфона не будет отображаться абсолютно ничего. Только сообщение на компьютере свидетельствует о том, что Вы все сделали правильно.

Если же на смартфоне что-то происходит, он начинает включаться или на нем появляются какие-то картинки, значит, что-то не так.

Очень важно придерживаться тех временных рамок, которые указаны выше – кнопки включения и «Домой» держим только 10 секунд, а кнопку «Power» до минуты, пока не появится сообщение в iTunes.

Теперь Вы знаете, как перевести смартфон от Apple в DFU. Но эта инструкция актуальна только для тех случаев, когда все клавиши находятся в рабочем состоянии. Если же это не так, придется пользоваться обходными путями.

2. Заходим в DFU при сломанных кнопках

Важно! Данный способ предполагает, что Вы сделаете джейлбрейк Айфона, то есть замените прошивку на нем кастомной. В таком случае гарантия на аппарат перестанет действовать.

Если Вы не желаете делать джейлбрейк, отнесите телефон в сервисную службу. Чтобы получить консультацию и найти ближайший сервисный центр, зайдите на сайт support.apple.com . Более подробно об обращении в службу поддержки читайте в нашей статье .

А теперь перейдем к тому, как зайти в DFU режим, не используя кнопки.

Для этого сделайте вот что:

  • Скачайте и установите утилиту redsn0w. Загрузить ее можно, к примеру, на сайте iphonehacks.com .
  • Запустите программу и последовательно нажмите на кнопки «Extras», в следующем окне «Even more» и дальше «DFU IPSW».

  • Теперь скачайте официальную (это важно!) прошивку. Если Вы желаете, чтобы на Вашем аппарате была последняя версия iOS, загружайте прошивку с сайта apple.com . Но если Вам нужна более старая версия, то ее можно найти, к примеру, на сайте newapples.ru . Хотя подобных сайтов существует огромное множество, и Вы можете выбирать любой из них. Нередко прошивки также можно найти на форумах.
  • В следующем окне выберете файл с официальной прошивкой и нажмите «ОК». Придется немного подождать, пока программа создаст кастомную прошивку из официальной и установит ее на Ваш смартфон. Сказать точно, сколько занимает этот процесс, невозможно. Все зависит от модели. Но Вы будете видеть на своем экране прогресс выполнения данного действия.
  • Когда создание прошивки будет закончено, запустите iTunes на компьютере. При этом зажмите и держите кнопку «Shift», если у Вас Windows и «Option», если Mac. Появится сообщение о том, что iTunes выполнит восстановление данных на подключенном устройстве. Нажмите «Восстановить».

  • Теперь смартфон будет подключен к компьютеру, и при этом находиться в DFU режиме. Это нам и было нужно.

Как видим, перевести iPhone в режим восстановления и обновления можно как с работающими кнопками, так и без них. Правда, во втором случае придется сделать джейлбрейк.



 

Возможно, будет полезно почитать: