- Что такое tristar и hydra?
- Что такое lightning?
- Что такое sdq и idbus?
- Что такое hifive?
- Hostid
- Tristar i2c
- Ввод любого iphone или ipad в режим dfu (при наличии механической кнопки home)
- Возможные сложности
- Жесткая перезагрузка
- Интерпретация запросов и ответов idbus
- Как ввести iphone 7, iphone 8 и iphone x в режим dfu?
- Как включить режим dfu на iphone 12 mini, iphone 12, iphone 12 pro и iphone 12 pro max?
- Как включить режим dfu на iphone xs, iphone xs max и iphone xr?
- Как вывести iphone или ipad из режима dfu
- На экране iphone шнур itunes — чиним яблоки
- Несколько слов об esn и интерфейсе tristar i2c
- Питание и кабели для ipad купить в каталоге оригинальных аксессуаров apple.
- Подготовка
- Причины
- Режим dfu для iphone 11, iphone 11 pro, iphone 11 pro max и iphone se (2020). инструкция!
- Решение
- Рукопожатия питания
- Теперь можем начать
- Электрические характеристики tristar
- Выводы
Что такое tristar и hydra?

Tristar — это интегральная схема, встроенная в каждое устройство с гнездом разъёма Lightning. По сути, это мультиплексор:
Кроме всего прочего, его основная цель состоит в том, чтобы соединяться со штекерным разъёмом Lightning, как только он подключён — определять ориентацию, Accessory ID и надлежащим образом маршрутизировать внутренние интерфейсы, такие как USB, UART и SWD.
Hydra — это новый вариант Tristar, используемый начиная с iPhone 8/X. Видимо, наиболее существенным изменением является поддержка беспроводной зарядки, но это ещё предстоит проверить:
Мне известны пять основных вариантов Tristar/Hydra:
С этого момента я буду использовать только термин TriStar, но имейте в виду, что он также означает Hydra, поскольку они очень похожи в большинстве аспектов, которые будут рассмотрены в этом тексте.
Что такое lightning?

Lightning — это цифровой интерфейс, используемый в большинстве устройств Apple iOS с конца 2021 года. Он заменил старый 30-контактный разъём.
На картинке выше гнездо разъёма, а на картинке ниже его распиновка:
Пожалуйста, обратите внимание, что в разъёме контакты с обеих сторон коннектора не соединены в одном и том же порядке. Таким образом, хост-устройство должно определить ориентацию кабеля, прежде чем что-то делать.
Хотя это не всегда так. У многих аксессуаров Lightning, которые мне попадались, в разъёмах зеркальная распиновка.
Что такое sdq и idbus?

Эти два термина часто считают своего рода синонимами. Для удобства я буду использовать только термин IDBUS, так как он кажется мне более правильным (и именно так технология называется в спецификации THS7383).
Итак, IDBUS — это цифровой протокол, используемый для коммуникации между Tristar и HiFive. Очень похож на протокол Onewire.
Что такое hifive?
HiFive — это дочерний интерфейс Lightning, то есть штекерный разъём. Он также содержит логический элемент — этот чип известен как SN2025/BQ2025.
Hostid
В одной из таблиц выше можно увидеть упоминание некоего HOSTID. Это 16-битное значение, передаваемое в запросе 0x74. Похоже, что оно также влияет на ответ HiFive. По крайней мере, если установить для него недопустимое значение (да, это возможно с diags), HiFive перестаёт с ним работать:

Впрочем, в прошивке KongSWD/KanziSWD есть переменная окружения disableIdCheck, которую вы можете настроить так, чтобы игнорировать недопустимый HOSTID.Важное примечание: У Kong и Kanzi нет HiFive в качестве выделенного непрограммируемого чипа. Эти аксессуары эмулируют его с помощью микроконтроллера и/или блока FPGA, что позволяет его легко обновлять/перепрограммировать.
Tristar i2c
Tristar доступен на шине I2C (адрес 0x34 для записи, 0x35 для чтения). Именно так diag и драйверы ядра с ним взаимодействуют.
О реестрах публично известно не так уж много. Много информации о самой карте регистра можно получить из утёкшего исходного кода iBoot (только для THS7383 — кажется, обратно совместимого с CBTL1608 — и CBTL1610), но не так много о том, что нужно туда записать, чтобы добиться каких-то интересных результатов.
Ещё одним источником знаний является модуль Tristar из diags (легко извлекаемый через SWD во время его работы). Например, мне удалось отреверсить алгоритмы чтения состояния подготовки и ESN. Затем я реализовал это как дополнение к моей нагрузке для iBoot под названием Lina:
Я также попытался изменить алгоритм записи ESN, но потерпел неудачу — механизм слишком сложный для меня. Однако фрагменты кода от Lina доступны здесь.
Ввод любого iphone или ipad в режим dfu (при наличии механической кнопки home)
Выполните последовательно следующие шаги:
- Запустите iTunes и подключите телефон или планшет к компьютеру.
- Выключите устройство (при этом, оно по-прежнему должно быть соединено с ПК).
- Зажмите одновременно две кнопки — Home (под экраном) и Включения (располагается на верхней грани устройства, кроме iPhone 6 и более старших версий — здесь ее перенесли на правую сторону).
- Ждем 10 секунд и отпускаем кнопку Включения, при этом удерживая клавишу Home.
- Продолжаем удерживать кнопку еще около 10 секунд.
- Через некоторое время iTunes сообщит вам, что программа обнаружила устройство в режиме восстановления.
- Наконец-то отпускаем кнопку 🙂
Вот и все, можно смело приступать к восстановлению прошивки! Единственное, во избежание ошибок, используйте только оригинальные провода. Конечно не сертифицированные также умеют заряжать (если их правильно использовать), но вот с обновлением ПО справляются не очень хорошо.
Кстати, при переводе в DFU, iOS-устройства никаких признаков не подают. То есть — экран полностью черный, на нем ничего не написано, нет никаких опознавательных знаков и не воспроизводится каких-либо характерных звуков.
Об успешном результате всех производимых манипуляций Вам сообщит только iTunes. Вот такой табличкой
Возможные сложности
Если в процессе перепрошивки возникли ошибки, например появляется предупреждение с ошибкой № 9, тогда дело обстоит намного хуже. Скорей всего повреждена важная микросхема внутри телефона, самостоятельно исправить врядли получится. В таком случае придется обращаться к мастерам по ремонту, так как без специального оборудования перепаять микросхему не реально. Хотя наши умельцы научились делать и это, оставлю видео про перепайку микросхемы своими руками, вдруг кому пригодится.
Бывает, возникают другие разновидности проблемы, когда айфон не включается, на экране крутится ромашка и ничего не происходит. Скорей всего придется перепрошивать устройство, но для начала попробуем сделать жесткую перезагрузку, вдруг поможет. Не пугайтесь, сложного и страшного ничего нет, вы даже не потеряете данные, как в случае, если все же решитесь перепрошить iPhone.
Жесткая перезагрузка
Инструкция как сделать жесткую перезагрузку, если айфон не включается, на экране появляется значок айтюнс и кабель
- Зажимаем кнопку блокировки и кнопку «домой»
- Ждем порядка 5-10 секунд
- Есть вероятность, глюки телефона пропадут
- Если не помогает, смотрим предыдущий раздел, и повторяем все по инструкции.
Интерпретация запросов и ответов idbus
Самый важный запрос IDBUS — это 0x74, он используется для двух целей: чтобы приказать HiFive включить полное напряжение и силу тока (в случае, если оно поддерживается аксессуаром), спросить его о конфигурации контактов, которые поддерживаются кабелем, и некоторых других метаданных.
О том, как кодируются данные ответа 0x75, известно не так уж много. Но некоторые биты доступны в старой спецификации Tristar:
Первый байт данных ответа 0x75
Конфигурация ACCx, когда ID найден на ID0
Конфигурация ACCx, когда ID найден на ID1
Конфигурация Dx, когда ID найден на ID0
Конфигурация Dx, когда ID найден на ID1
Используя эти таблицы, давайте расшифруем ID нашего кабеля (
10 0C 00 00 00 00
) с учётом того, что линия ID найдена на контакте ID0:
Первый байт ответа 0x75 кабеля
Таким образом, ACCx — это 00, Это означает, что пин ID0 просто привязан к IDBUS, а Dx = 01 означает, что пины DP1/DN1 настроены как USB0_DP/USB0_DN. Именно то, что мы ожидали от стандартного USB-кабеля.
А теперь давайте перехватим что-нибудь поинтереснее:
Вот полный (?) список запросов IDBUS от
Совет №1: вы можете легко получить свойства аксессуара, включая его идентификатор, используя accctl:

Это внутренняя утилита Apple, поставляемая со сборками NonUI/InternalUI. Но вы можете легко запустить её на любом устройстве после джейлбрейка.
Совет №2: вы можете легко получить конфигурацию контактов кабеля с помощью diags:
tristar -p
Обратите внимание, что эта команда доступна только на iOS 7 .
Совет №3: вы можете легко отслеживать запросы/ответы 0x74/0x75, генерируемые SWD-пробами, установив debug env var, равное 3:
astrisctl setenv debug 3
Затем на виртуальном COM от кабеля вы увидите что-то вроде этого:
Как ввести iphone 7, iphone 8 и iphone x в режим dfu?
Небольшое обновление статьи, связанное с выходом iPhone 7 (Plus), iPhone 8 (Plus) и iPhone X. Как известно, кнопка Home в этих моделях перестала быть механической (в «десятке» ее вообще убрали) и уже не нажимается как раньше. Как же теперь осуществить вход в ДФУ?
Все очень просто, вот короткая инструкция:
- Запускаем iTunes и подключаем iPhone к компьютеру.
- Выключаем гаджет.
- На телефоне одновременно нажимаем две кнопки — включения и уменьшения громкости (!!!).
- Ждем 10 секунд и отпускаем кнопку включения, но «громкость вниз» продолжаем держать.
- Через секунд 5-10 iTunes увидит устройство в режиме восстановления.
- Отпускаем клавишу уменьшения громкости.
Поздравляю, ваш iPhone перешел в режим DFU, можно приступать к восстановлению прошивки.
Как включить режим dfu на iphone 12 mini, iphone 12, iphone 12 pro и iphone 12 pro max?
В 2020 году Apple представила просто огромное количество смартфонов.
Тим Кук, зачем так много? Давай прекращай! А то я уже устал разбираться во всех этих моделях «двенадцатых яблок». Между ними слишком много различий!
К счастью, хоть в чём-то они одинаковые — любой iPhone 12 (mini, обычный, Pro, Pro Max — не важно) вводится в режим DFU единой комбинацией:
- Запускаем iTunes и подключаем iPhone 12 к компьютеру.
- Последовательно нажимаем «Громкость вверх» (сразу отпускаем), «Громкость вниз» (сразу отпускаем) и кнопку «Включения» (удерживаем).
- Как только экран полностью погаснет, нажимаем и держим «Громкость вниз» (продолжая удерживать кнопку «Включения»!).
- Отсчитываем 5 секунд.
- Отпускаем кнопку «Включения» (продолжая удерживать «Громкость вниз»!).
- Ждём (удерживая «Громкость вниз») до тех пор, пока iTunes не обнаружит iPhone в режиме восстановления.
Ура! Наш iPhone 12 благополучно перешёл в режим DFU — можно приступать к восстановлению прошивки!
Как включить режим dfu на iphone xs, iphone xs max и iphone xr?
Устройства новые, но вход в режим Device Firmware Update осуществляется по-старому (точно так же, как в «восьмерках» и iPhone X).
Впрочем, как говорит Малахов, не спешите переключаться.
Для тех, у кого возникают проблемы с активацией DFU режима способом из предыдущего подзаголовка, есть немного видоизмененная инструкция.
Надеюсь, так будет чуть проще.
Итак, вводим iPhone XS, iPhone XS Max и iPhone XR в DFU:
- Включаем iTunes и подключаем телефон к компьютеру.
- Зажимаем клавишу выключения и ждем.
- Появляется слайдер «Выключите». Ждем и ничего не делаем. Кнопку выключения не отпускаем!
- Спустя некоторое время экран телефона станет черным.
- Нажимаем и держим «Громкость вниз» (продолжая удерживать кнопку выключения!).
- Спустя 5 секунд отпускаем кнопку выключения («Громкость вниз» еще держим!).
- Через 5-10 секунд iTunes увидит iPhone в режиме DFU.
- Победа!
Напомню, что эта инструкция подойдет для любого iPhone начиная с iPhone 8. Пользуемся!
Как вывести iphone или ipad из режима dfu
Здесь также кроется небольшой нюанс. В большинстве случаев, можно отделаться обычной перезагрузкой гаджета. Ну… только что подержать кнопку включения придется чуть дольше обычного.
Не помогает? Тогда выполняем принудительный перезапуск — вот подробная инструкция для любой модели iPhone . Естественно, предварительно необходимо отключить устройство от компьютера.
Вот такая вот короткая инструкция получилась. Однако здесь и расписывать-то больше нечего — нажали и подержали две кнопки, одну отпустили и подключили к компьютеру. Всё!
Спустя несколько лет и множество обновлений ситуация немного изменилась:)
На экране iphone шнур itunes — чиним яблоки
Появление на черном экране iPhone шнура iTunes и значка этой службы, как правило, говорит о программном либо аппаратном сбое. Очень часто, шнур появляется после того, как пользователь предпринял попытку обновить операционную систему или произвести её откат и в это время произошел какой-то сбой. Ошибка при самостоятельной перепрошивке мобильного телефона – одна из наиболее вероятных причин появления на экране iPhone шнура подключения. Если проблема программная, то это довольно просто решить своими силами. Достаточно скачать и установить на свой компьютер iTunes, подключить через провод телефон к компьютеру и в появившемся окошке программы iTunes нажать кнопку «обновить» если она доступна (при обновлении данные не стираются) либо кнопку «Восстановить» (данная процедура приводит к полной потери всех пользовательских данных на устройстве).
Вторая распространенная причина заставки с шнуром для подключения к iTunes – это аппаратная неисправность. Если вы выполнили все что описано выше и в процессе восстановления программного обеспечения iTunes выдал сообщение об ошибке, то это в 95% случаев указывает на аппаратную неисправность и необходимо обратиться в сервисный центр. Вот небольшой список ошибок iTunes и с чем они могут быть связаны:

Так же у нас вы можете получить бесплатную консультацию.
Ошибка -1 или ошибка 50 — говорит о проблемах с модемной частью телефона.
Ошибка 3194 — обычно возникает при попытке восстановить телефон программным обеспечением старой версии, которое уже перестало подписываться в iTunes.
Ошибка 9 — весьма абстрактная ошибка и может возникать по широкому ряду причин, начиная от шлейфа передней камеры заканчивая неисправным процессором.
Ошибка 40 — чаще всего указывает на то, что проблема связана с NAND-памятью.
Ошибка 4005 — так же как и ошибка 9 может возникать по многим причинам.
Ошибка 4013 — имеет широкий разброс причин возникновения. Допустим на iPhone 5s данная проблема возникает из-за неисправности файловой системы Flash-памяти, а на iPhone 6s чаще всего данная ошибка возникает из-за проблем с процессором модемной части.
Ошибка 4014 — чаще всего говорит о проблемах с оперативной памятью.
Это не полный список ошибок которые могут возникнуть при восстановлении П.О. список весьма широкий и по ошибке нельзя со стопроцентной точностью сказать что вышло из строя. Необходима профессиональная, аппаратная диагностика. ( ред. а не гадание на кофейной гуще 🙂 )
Так же из режима восстановления, если он не был запущен системой из-за неудачного обновления, можно попробовать выйти, принудительно перезагрузив телефон (нажать и удерживать кнопки «Home» и «Power»). Если шнур не исчезает и после перезапуска, то, очевидно, что ваш iPhone перешел в режим Recovery Loop (петли восстановления). В этом случае, на экране шнур iTunes будет появляться даже после сотой перезагрузки. Такую проблему, не будучи специалистом, решить крайне сложно. Лучше всего не тратить время и не рисковать своим смартфоном и отправиться в сервисный центр, где опытные специалисты помогут в течение десяти минут.
Советы специалиста:
Некоторые «специалисты» советуют применять для выхода из «петли» специальные программы, такие как TinyUmbrella и RecBoot. Предупреждаем владельцев iPhone, что использование любого софта для устранения этой ошибки, может привести к полной потере данных в памяти телефона. В случае, если после перезапуска операционной системы вы снова видите заставку iTunes, самым правильным решением будет визит в специализированную мастерскую.
Несколько слов об esn и интерфейсе tristar i2c
Ещё одна особенность Tristar, о которой я хотел бы рассказать, — ESN. Это маленький блоб, который Tristar хранит в своём EEPROM (на CBTL1610A2 и более поздних версиях). Его можно получить по IDBUS с помощью кабеля Serial Number Reader (или Kanzi, они в основном одинаковые, за исключением разных USB-PID и немного отличающихся корпусов)
Питание и кабели для ipad купить в каталоге оригинальных аксессуаров apple.
Показать все
Показать все
Показать все
Цена, ₽
—
Подготовка
Процедура «прошивки» ESN на Tristar называется
подготовка
(provisioning). Она происходит с диагностикой на стороне устройства, через
на принимающей стороне в три этапа.
Вы можете проверить состояние с помощью diags:
tristar --prov_stat
… а также получить ESN:
tristar --esn
Кстати, у diags вообще богатый набор команд Tristar (доступен, начиная с iOS 7):
Причины
Причин много, систематизировать их сложно, но можно выделить несколько популярных:
- Слетает прошивка — именно из-за этого не включается айфон 5, 6, 7 модели, горит айтюнс и шнурок. Как перепрошить аппарат рассмотрим в следующем разделе.
- Аппаратная ошибка, в результате которой некоторые файлы системы были удалены или испорчены, опять же, поможет перепрошивка. Мастера называют ее «Айфон завис на шнурке».
- Ошибка может возникнуть после падения на твердую поверхность
- Попадание воды внутрь устройства.
Что же делать, если айфон вроде как грузится, но не включается, выдает «шнурок» и просит подключиться к itunes? Рассмотрим варианты решение проблемы ниже.
Режим dfu для iphone 11, iphone 11 pro, iphone 11 pro max и iphone se (2020). инструкция!
Надеялись на что-то новенькое? Зря. Ничего не изменилось.
Активация режима DFU для iPhone 11 (Pro, Pro Max) и iPhone SE (2020) происходит ровно также, как и во всех остальных iPhone (начиная с «восьмерки»).
Поэтому, если вы счастливый обладатель iPhone 11 (Pro, Pro Max) или iPhone SE (2020), то
я вам могу только позавидовать
для перевода своего смартфона в DFU-режим воспользуйтесь инструкцией, которая находится в предыдущем подзаголовке.
Решение

- Скачиваем с официального сайта Apple программу под названием iTunes (ссылка).
- Устанавливаем айтюнс и скачиваем саму прошивку для вашей модели iPhone.
- Выключаем iPhone и подсоединяем к компьютеру с помощью стандартного кабеля из комплекта (можно заменить хорошей копией).
- На 5 секунд зажимаем вместе кнопки «HOME» и «POWER», ждем около 10 секунд.
- Через 10 секунд отпускаем «POWER» (она же блокироваки), но «HOME» оставляем нажатой!
- Через некоторое время Айтюнс выдаст сообщение про DFU режим, теперь приступаем к восстановлению прошивки.
- В программе iTunes находим кнопку «Восстановить» и зажав «Shift», нажимаем ее.
- В появляющемся окошке выбираем скаченный ранее файл с расширение .ipsw, подтверждаем выбор.
- Процесс восстановления прошивки пошел, теперь ждем завершения.
Нужно помнить, при перепрошивке все данные сотрутся. Если у вас нет резервной копии или вы хранили все фотографии на умершем девайсе, без использования iCloud, восстановить их будет не реально. В таком случае нужно сразу обращаться в авторизованные сервисные центры, там помогут, но попросят за работу хорошие деньги.
Рукопожатия питания
Последнее, что я собираюсь рассмотреть — рукопожатия питания (power handshakes). Это алгоритм, основанный на запросах/ответах IDBUS, которые драйверы ядра Tristar используют перед тем, как разрешить зарядку от аксессуара.
Когда кабель Lightning просто где-то лежит, подключённый к зарядному устройству/компьютеру, но не подключённый к устройству, HiFive ограничивает ток на PWR действительно небольшим значением (около 10-15 мА по моим измерениям). Чтобы включить полный ток, запрос 0x74 должен быть выдан Tristar и обработан HiFive. Для SecureROM/iBoot этого достаточно, но при загрузке ядра необходимо сделать дополнительные шаги:
- TriStar выдаёт два запроса 0x70
- Как только второй запрос обработан HiFive и отправлен ответ, он вообще отключает ток примерно на 20 миллисекунд
- По истечении этого времени Tristar выдаёт ещё один запрос 0x70, но с содержанием 0x80 в данных. HiFive обрабатывает его и отвечает
- На этом этапе драйвер ядра, ответственный за Tristar, должен разрешить зарядку
Важное замечание: это та часть, которую я знаю меньше всего. И это одна из тех частей, которые я в основном сам отреверсил. Таким образом, будьте осторожны с этой информацией
Теперь можем начать
Давайте прослушаем коммуникации Tristar и HiFive. Возьмите логический анализатор, переходную плату Lightning с соединением для гнезда и штекерного разъёма, какой-нибудь аксессуар (обычный кабель Lightning-to-USB отлично подойдёт) и, конечно, какое-нибудь устройство с портом Lightning.
Сначала подключите каналы логического анализатора к обеим линиям ID переходной платы (контакты 4 и 8) и подключите плату к устройству, но пока не подключайте аксессуар:
Сразу после этого начните выборку (подойдёт любая частота от 2 МГц и выше). Вы увидите что-то вроде этого:
Как видете, Tristar опрашивает каждую линию ID по очереди — одну за другой. Но поскольку мы не подключили никакого аксессуара, опрос явно провалился. В какой-то момент устройство устанет от этого бесконечного потока отказов и остановит его. А пока давайте разберёмся, что именно происходит во время опроса:
Сначала мы видим длинный интервал (около 1,1 миллисекунды), когда просто уровень высокий, но больше ничего не происходит:
Видимо, это время используется для зарядки внутреннего конденсатора HiFive — энергия от него будет затем использоваться для питания внутренних логических чипов.
Гораздо интереснее то, что происходит потом:
Очевидно, это поток каких-то данных. Но как его интерпретировать? Как расшифровать? Давайте виртуально разделим его на минимальные значимые части — то, что я называю словами:
По сути слово — это сочетание падения-подъёма-падения:
Вот таблица известных слов с их интервалами для обоих этапов, которые мы обсуждали выше (все единицы измерения в микросекундах):
* STOP используется, когда это последний бит в байте
Используя приведённую выше таблицу теперь мы можем построить простой декодер протокола:
Как видите, сначала хост посылает BREAK — когда Tristar хочет отправить новый запрос, хост всегда начинает с этого слова. Затем наступает этап передачи данных. Пожалуйста, обратите внимание, что у последнего (8-го) бита в байте более длительный этап восстановления.
Когда этап передачи данных заканчивается, хост отправляет ещё один BREAK. Затем дочернее устройство должно отправить ответ (после задержки не менее 2,5 микросекунд — см. таблицу). Tristar будет ждать ответа около 2,2 мс. Если ответ не выдан в этот промежуток времени, Tristar попытается опросить другую линию ID.
Теперь давайте рассмотрим этап данных на примере выше — 0x74 0x00 0x02 0x1f:
Давайте подключим к нашей установке какой-нибудь аксессуар и посмотрим, что произойдёт. Я буду использовать оригинальный кабель Lightning-to-USB от Apple:
И вот что появляется на IDBUS после запроса 0x74:
HiFive ответил! И если вы прокрутите дальше, то увидите много других пар запрос/ответ:
Некоторые запросы не нуждаются в ответе:
Электрические характеристики tristar
Сам Tristar питается от источника 1,8 В. Линии для IDBUS устойчивы к 3,0 В, согласно моему осциллографу:
Таким образом, без схемы сдвига уровня лучше не пытаться взаимодействовать с IDBUS с помощью устройств, устойчивых к 5 В, как некоторые модели Arduino.
См. также:
Выводы
После нескольких попыток смартфон так и не ожил? В таком случае оптимальным решением будет обратиться к опытным специалистам, хотя это будет не бесплатно, вы оградите себя от риска полностью «закирпичить» дорогой аппарат. Что делать, когда айфон 5 s не включается и в ультимативной форме требует подключить к айтюнсу, вы теперь знаете, внимательно читаем и смотрим видео, в 90% случаев это решит проблему.


