Кабель lightning для чего

Разъем Lightning: что это такое

Компания Apple никогда не стремилась следовать общепринятым стандартам и не раз делала выбор в пользу собственных закрытых разработок. Одним из таких примеров является разъем Lightning, который стал заменой для общепринятого MicroUSB и используется уже больше 6 лет.

Что такое Lightning

Lightning – это разъем, разработанный компанией Apple и использующийся для подключения смартфонов, планшетов и портативных проигрывателей. Данный разъем используется для подключения устройства к компьютеру, зарядки батареи, подключения наушников и других аксессуаров.

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

Lightning был представлен 2012 году и заменил собой ранее использовавшийся 30 контактный разъем. В отличие от своего предшественника, Lightning отличается компактностью и простотой в использовании. В нем используется всего 8 контактов вместо 30 и его можно устанавливать любой стороной. Это позволяет подключить смартфон к кабелю в одно движение и практически не глядя на него.

Несмотря на свою компактность и простоту, у разъема Lightning есть ряд недостатков, которые часто создают проблемы для пользователей. Главным минусом Lightning является то, что это закрытый стандарт компании Apple. Только Apple владеет всеми правами на эту торговую парку и характеристики разъема. Из-за этого стоимость аксессуаров с данным разъемом всегда намного выше, чем стоимость аналогичных устройств с Micro USB.

На данный момент Lightning является основным разъемом компании Apple для подключения мобильных устройств. Сейчас данным разъемом комплектуются такие устройства как iPhone (начиная с iPhone 5), iPad (начиная с iPad 4-го поколения), iPad Mini (начиная с 2 версии), iPad Air, iPad Pro, iPod Nano (7-го поколения) и iPod Touch (начиная с 5-го поколения). Но, похоже, что в ближайшем будущем Apple планирует отказаться от Lightning и перейти на использование USB Type-C. На это указывает тот факт, что в последнем поколении iPad Pro вместо Lightning используется именно USB Type-C, также USB Type-C уже появлялся в ноутбуках Apple MacBook.

Lightning MFi – что это

При обсуждении Lightning кабелей и других аксессуаров Apple часто встречается такой термин как MFi. Данная аббревиатура расшифровывается как Made For iPhone/iPod/iPad и обозначает программу сертификации, которая была запущена компанией Apple еще в 2005 году. Чтобы получить сертификат MFi производитель аксессуаров должен выполнить ряд требований к надежности и качеству изделия. После получения данного сертификата производить может использовать логотип MFi на своей продукции.

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

Логотип MFi гарантирует пользователю, что данный аксессуар проверен, полностью безопасен и поддерживает все необходимые режимы работы. Например, в случае кабелей, MFi означает, что такой кабель можно использовать как для зарядки устройства, так и для его синхронизации с компьютером. Наличие сертификата проверяется при помощи специального чипа, который размещен внутри устройства. Если такого чипа нет, или он работает неправильно, то пользователь получит сообщение что аксессуар не поддерживается.

Поэтому, при выборе нового кабеля или аксессуара для мобильной техники Apple очень желательно выбирать модель с обозначением MFi. Конечно, это не дает 100 процентной гарантии, что покупка не разочарует, но по крайней мере вероятность этого будет минимальна.

Lightning и наушники

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чегоС выходом iPhone 7 компания Apple решила отказаться от использования отдельного 3.5 мм. аудио-разъема и переложила функцию подключения наушников на разъем Lightning. Данное решение подверглось серьезной критике со стороны пользователей. Основной причиной негодования пользователей был тот факт, что для работы их старых нушников с iPhone теперь нужен специальный переходник. Но несмотря на очевидные неудобства, которые вызывает такое решение, у подключения наушников через Lightning-разъем есть ряд преимуществ.

Что касается мнения Apple, то их главный аргумент – это экономия места внутри корпуса. По словам представителей компании 3.5 мм. аудио-разъем отнимает слишком много пространства внутри корпуса, что не позволяет сделать устройство тоньше.

Источник

Как выбрать кабель Lightning, если официальный Apple не устраивает

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

Поменял десяток кабелей Lightning разных производителей, большинство из которых не прослужило и пары месяцев. Не разочаровался в официальном решении Apple, но оставил его только для дома и офиса.

Сейчас у меня всегда с собой Зебра Native Union, которая сегодня более чем нравится.

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

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

Сертификация Apple в рамках MFi

Что такое MFi? Программу сертификации MFi Apple представила еще в 2005 году. С помощью нее производители могут получить одобрение на выпуск аксессуаров для мобильных устройств компании.

Чтобы пройти сертификацию производителю аксессуара нужно выполнить солидный перечень требований по качеству и надежности.

При этом процесс получения лицензии отличается в зависимости от авторитета компании и сложности устройства.

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего
Один из вариантов логотипа сертификации MFi

Компании, которые прошли регистрацию MFi получают эксклюзивную возможность размещения соответствующего логотипа на коробке с изделием. Он дает пользователю уверенность в качестве аксессуара.

Почему нужно выбирать MFi? В случае Lightning сертификация по стандартам MFi дает уверенность, что кабель точно можно будет использовать для зарядки и синхронизации устройства.

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

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего
Рентген кабеля Lightning.

Производители несертифицированных решений пробуют обмануть эту защиту.

Иногда у них это получается, но чаще пользователь встречается с сообщением Этот аксессуар, вероятно, не поддерживается (или другое в зависимости от версии iOS) — оно может появиться сразу или через недели использования.

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего
Тот момент, когда защиту Apple обойти не удалось

Рекомендую не рисковать и выбирать MFi. Такие аксессуары зачастую дороже, но они не подведут в самый неподходящий момент.

Этим компаниям можно доверять:

И это только самые популярные среди производителей, которые сертифицированы по MFi — смотрите на логотип на упаковке и не обращайте внимание на дешевые китайские поделки за пару центов.

Надежность самого кабеля

Форма кабеля. За долгие годы использования мобильных устройств Apple я сталкивался с двумя формами кабелей Lightning: круглые и плоские (или так называемая лапша).

Производители позиционируют второй вариант в роли идеального средства, чтобы кабель не запутывался.

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего
Вот такое решение производства ROCK оказалось самым отвратительным в моей жизни. Оно продержалось всего два месяца.

Но практика показывает, что плоские кабели закручиваются не хуже обычных круглых. А распутывать их куда сложнее — здесь важнее не форма, а материал.

Толщина кабеля. Производители настаивают, что толстый кабель Lightning сложнее порвать или перетереть.

Но на практике толстые кабели лопаются не хуже тонких. И на первое место в данном случае должна выходить эластичность, а не толщина.

Материал оплётки. Кабель может быть завернут в пластик или резину, текстиль, кожу и даже металл.

Первый материал использует и сама Apple. Он достаточно просто лопается после недель и месяцев интенсивного использования. Поэтому не рекомендую.

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

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего
Мой NU гибкий как молодая гимнастка.

Рекомендую смотреть на текстильные или кожаные варианты оплётки. Эти материалы достаточно эластичны, чтобы не лопнуть и доставлять удовольствие при использовании. Они отлично защищают «сердцевину» и не запутываются.

Продуманность соединительных креплений

Они должны быть достаточно длинными и гибкими — вот и весь секрет. Кабель часто рвется у основания короткого крепления. А недостаточная гибкость усугубляет этот процесс.

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего
Обратите внимание на отверстие.

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

Практика длительного использования еще должна доказать это, но сегодня думаю, что такое решение не переломается очень долго.

Кроме этого обратите внимание на качество коннекторов Lightning и USB. Они должны быть монолитно собраны, а не практически разваливаться при сильном нажатии.

Длина кабеля и его форм-фактор

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

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

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

Кроме универсальных есть длинные кабели на два и больше метров, а также короткие по 10-20 сантиметров и даже брелоки или браслеты, превращающиеся в Lightning для зарядки и синхронизации. Выбирайте по вкусу и потребностям.

Дополнительные особенности

Некоторые производители сторонних Lightning-кабелей привлекают потенциальных покупателей какими-то дополнительными особенностями аксессуаров.

Это могут быть встроенные коннекторы microUSB для зарядки беспроводных наушников, Android-смартфонов и других устройств. Но в моей практике таких сертифицированных по программе MFi не было.

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

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

В итоге рекомендую:

А каким Lightning-кабелем пользуетесь вы? Выбрали официальный вариант Apple или решение другого производителя?

Источник

Как устроен Apple Lightning

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

Это моя маленькая статья с описанием (почти) всего, что я знаю об интерфейсе Apple Lightning и связанных с ним технологиях: Tristar, Hydra, HiFive, SDQ, IDBUS и др. Но сначала маленькое предупреждение…

Читайте эту статью на свой страх и риск! Информация основана на большом количестве внутренних материалов AppleInternal (утечка данных, схем, исходных кодов), которые я прочёл по диагонали. И, конечно, на моих собственных исследованиях. Должен предупредить, что я никогда раньше не проводил подобных исследований. Таким образом, эта статья может использовать неправильные или просто странные термины и оказаться частично или полностью неправильной!

Прежде чем углубиться, давайте кратко разберёмся в терминах:

Что такое Lightning?

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

Lightning — это цифровой интерфейс, используемый в большинстве устройств Apple iOS с конца 2012 года. Он заменил старый 30-контактный разъём.

На картинке выше гнездо разъёма, а на картинке ниже его распиновка:

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

Пожалуйста, обратите внимание, что в разъёме контакты с обеих сторон коннектора не соединены в одном и том же порядке. Таким образом, хост-устройство должно определить ориентацию кабеля, прежде чем что-то делать.

Хотя это не всегда так. У многих аксессуаров Lightning, которые мне попадались, в разъёмах зеркальная распиновка.

Что такое Tristar и Hydra?

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

Tristar — это интегральная схема, встроенная в каждое устройство с гнездом разъёма Lightning. По сути, это мультиплексор:

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

Кроме всего прочего, его основная цель состоит в том, чтобы соединяться со штекерным разъёмом Lightning, как только он подключён — определять ориентацию, Accessory ID и надлежащим образом маршрутизировать внутренние интерфейсы, такие как USB, UART и SWD.

Hydra — это новый вариант Tristar, используемый начиная с iPhone 8/X. Видимо, наиболее существенным изменением является поддержка беспроводной зарядки, но это ещё предстоит проверить:

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

Мне известны пять основных вариантов Tristar/Hydra:

Что такое HiFive?

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

HiFive — это дочерний интерфейс Lightning, то есть штекерный разъём. Он также содержит логический элемент — этот чип известен как SN2025/BQ2025.

Что такое SDQ и IDBUS?

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

Эти два термина часто считают своего рода синонимами. Для удобства я буду использовать только термин IDBUS, так как он кажется мне более правильным (и именно так технология называется в спецификации THS7383).

Итак, IDBUS — это цифровой протокол, используемый для коммуникации между Tristar и HiFive. Очень похож на протокол Onewire.

Теперь можем начать

Давайте прослушаем коммуникации Tristar и HiFive. Возьмите логический анализатор, переходную плату Lightning с соединением для гнезда и штекерного разъёма, какой-нибудь аксессуар (обычный кабель Lightning-to-USB отлично подойдёт) и, конечно, какое-нибудь устройство с портом Lightning.

Сначала подключите каналы логического анализатора к обеим линиям ID переходной платы (контакты 4 и 8) и подключите плату к устройству, но пока не подключайте аксессуар:

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

Сразу после этого начните выборку (подойдёт любая частота от 2 МГц и выше). Вы увидите что-то вроде этого:

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

Как видете, Tristar опрашивает каждую линию ID по очереди — одну за другой. Но поскольку мы не подключили никакого аксессуара, опрос явно провалился. В какой-то момент устройство устанет от этого бесконечного потока отказов и остановит его. А пока давайте разберёмся, что именно происходит во время опроса:

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

Сначала мы видим длинный интервал (около 1,1 миллисекунды), когда просто уровень высокий, но больше ничего не происходит:

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

Видимо, это время используется для зарядки внутреннего конденсатора HiFive — энергия от него будет затем использоваться для питания внутренних логических чипов.

Гораздо интереснее то, что происходит потом:

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

Очевидно, это поток каких-то данных. Но как его интерпретировать? Как расшифровать? Давайте виртуально разделим его на минимальные значимые части — то, что я называю словами:

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

По сути слово — это сочетание падения-подъёма-падения:

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

СодержаниеВосстановление
СловоMinTypMaxMinTyp
BREAK1214162.54.5
WAKE2224271100?
ZERO6783
ONE11.72.58.5
ZERO и STOP*67816
ONE и STOP*11.72.521

* STOP используется, когда это последний бит в байте

Используя приведённую выше таблицу теперь мы можем построить простой декодер протокола:

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

Как видите, сначала хост посылает BREAK — когда Tristar хочет отправить новый запрос, хост всегда начинает с этого слова. Затем наступает этап передачи данных. Пожалуйста, обратите внимание, что у последнего (8-го) бита в байте более длительный этап восстановления. Когда этап передачи данных заканчивается, хост отправляет ещё один BREAK. Затем дочернее устройство должно отправить ответ (после задержки не менее 2,5 микросекунд — см. таблицу). Tristar будет ждать ответа около 2,2 мс. Если ответ не выдан в этот промежуток времени, Tristar попытается опросить другую линию ID.

Теперь давайте рассмотрим этап данных на примере выше — 0x74 0x00 0x02 0x1f :

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

И вот что появляется на IDBUS после запроса 0x74:

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

HiFive ответил! И если вы прокрутите дальше, то увидите много других пар запрос/ответ:

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

Некоторые запросы не нуждаются в ответе:

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

Интерпретация запросов и ответов IDBUS

Самый важный запрос IDBUS — это 0x74, он используется для двух целей: чтобы приказать HiFive включить полное напряжение и силу тока (в случае, если оно поддерживается аксессуаром), спросить его о конфигурации контактов, которые поддерживаются кабелем, и некоторых других метаданных.

О том, как кодируются данные ответа 0x75, известно не так уж много. Но некоторые биты доступны в старой спецификации Tristar:

Первый байт данных ответа 0x75

ACCx[1:0]ACC1ACC2HOST_RESET
00Hi-Z (IDBUS)Hi-ZHi-Z
01UART1_RXUART1_TXHi-Z
10JTAG_DIOJTAG_CLKHi-Z
11Hi-ZHi-ZHIGH
ACCx[1:0]ACC1ACC2HOST_RESET
00Hi-ZHi-Z (IDBUS)Hi-Z
01UART1_RXUART1_TXHi-Z
10JTAG_DIOJTAG_CLKHi-Z
11Hi-ZHi-ZHIGH
Dx[1:0]DP1DN1DP2DN2
00Hi-ZHi-ZHi-ZHi-Z
01USB0_DPUSB0_DNHi-ZHi-Z
10USB0_DPUSB0_DNUART1_TXUART1_RX
11Hi-ZHi-ZHi-ZHi-Z
Dx[1:0]DP1DN1DP2DN2
00Hi-ZHi-ZHi-ZHi-Z
01Hi-ZHi-ZUSB0_DPUSB0_DN
10USB0_DPUSB0_DNUART1_TXUART1_RX
11Hi-ZHi-ZHi-ZHi-Z

Используя эти таблицы, давайте расшифруем ID нашего кабеля ( 10 0C 00 00 00 00 ) с учётом того, что линия ID найдена на контакте ID0:

Первый байт ответа 0x75 кабеля

Таким образом, ACCx — это 00, Это означает, что пин ID0 просто привязан к IDBUS, а Dx = 01 означает, что пины DP1/DN1 настроены как USB0_DP/USB0_DN. Именно то, что мы ожидали от стандартного USB-кабеля.

А теперь давайте перехватим что-нибудь поинтереснее:

АксессуарID (HOSTID = 1)
DCSD20 00 00 00 00 00
KongSWD (без работающего Astris)20 02 00 00 00 00
KongSWD (с работающим Astris)A0 00 00 00 00 00
KanziSWD (без работающего Astris)20 0E 00 00 00 00
KanziSWD (с работающим Astris)A0 0C 00 00 00 00
Haywire (HDMI)0B F0 00 00 00 00
Зарядка UART20 00 10 00 00 00
Lightning на 3,5 мм/EarPods с Lightning04 F1 00 00 00 00

Вот полный (?) список запросов IDBUS от @spbdimka:

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

Совет №1: вы можете легко получить свойства аксессуара, включая его идентификатор, используя accctl:

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего
Это внутренняя утилита Apple, поставляемая со сборками NonUI/InternalUI. Но вы можете легко запустить её на любом устройстве после джейлбрейка.

Совет №2: вы можете легко получить конфигурацию контактов кабеля с помощью diags:

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего
Обратите внимание, что эта команда доступна только на iOS 7+.

Совет №3: вы можете легко отслеживать запросы/ответы 0x74/0x75, генерируемые SWD-пробами, установив debug env var, равное 3:

Затем на виртуальном COM от кабеля вы увидите что-то вроде этого:

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

HOSTID

В одной из таблиц выше можно увидеть упоминание некоего HOSTID. Это 16-битное значение, передаваемое в запросе 0x74. Похоже, что оно также влияет на ответ HiFive. По крайней мере, если установить для него недопустимое значение (да, это возможно с diags), HiFive перестаёт с ним работать:

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего
Впрочем, в прошивке KongSWD/KanziSWD есть переменная окружения disableIdCheck, которую вы можете настроить так, чтобы игнорировать недопустимый HOSTID.

Важное примечание: У Kong и Kanzi нет HiFive в качестве выделенного непрограммируемого чипа. Эти аксессуары эмулируют его с помощью микроконтроллера и/или блока FPGA, что позволяет его легко обновлять/перепрограммировать.

В таблице Accessory ID выше можно заметить, что Kong и Kanzi посылают разные ответы в зависимости от того, запускается или нет Astris, это программное обеспечение AppleInternal, предназначенное для отладки с помощью SWD-проб (или зондов). Если вы расшифруете эти ответы с помощью приведённых выше таблиц, то обнаружите, что когда Astris не запускается, зонд будет действовать точно так же, как DCSD — USB на линиях D1 и debug UART на линиях D2. Но когда отладочное программное обеспечение работает, линии ACCID переключаются на SWD.

Но что, если мы хотим запустить Astris после того, как зонд уже подключён к устройству? Что будет делать кабель? Как он будет переключаться между линиями ACC на SWD? Вот тут-то WAKE и вступает в игру! HiFive (или устройство, которое его эмулирует) может инициировать WAKE — и процесс перечисления IDBUS начнётся снова: Tristar отправит запрос 0x74, Kong/Kanzi ответит новым идентификатором, Tristar подтвердит его и направит линии ACC на внутренние линии SWD (SoC должен это поддерживать на физическом уровне, конечно).

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

Рукопожатия питания

Последнее, что я собираюсь рассмотреть — рукопожатия питания (power handshakes). Это алгоритм, основанный на запросах/ответах IDBUS, которые драйверы ядра Tristar используют перед тем, как разрешить зарядку от аксессуара.

Когда кабель Lightning просто где-то лежит, подключённый к зарядному устройству/компьютеру, но не подключённый к устройству, HiFive ограничивает ток на PWR действительно небольшим значением (около 10-15 мА по моим измерениям). Чтобы включить полный ток, запрос 0x74 должен быть выдан Tristar и обработан HiFive. Для SecureROM/iBoot этого достаточно, но при загрузке ядра необходимо сделать дополнительные шаги:

Несколько слов об ESN и интерфейсе Tristar I2C

Ещё одна особенность Tristar, о которой я хотел бы рассказать, — ESN. Это маленький блоб, который Tristar хранит в своём EEPROM (на CBTL1610A2 и более поздних версиях). Его можно получить по IDBUS с помощью кабеля Serial Number Reader (или Kanzi, они в основном одинаковые, за исключением разных USB-PID и немного отличающихся корпусов)

Проще говоря, отправив этот блоб на ttrs.apple.com, вы можете получить серийный номер устройства. Этот механизм используется сотрудниками Apple Store/Apple Premium Reseller для извлечения SN с мёртвых устройств (если Tristar ещё жив):

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

Что происходит на IDBUS при получении ESN, задокументировал @spbdimka:

Подготовка

Процедура «прошивки» ESN на Tristar называется подготовка (provisioning). Она происходит с диагностикой на стороне устройства, через EzLink на принимающей стороне в три этапа.

Вы можете проверить состояние с помощью diags:

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего
… а также получить ESN:

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего
Кстати, у diags вообще богатый набор команд Tristar (доступен, начиная с iOS 7):

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

Tristar I2C

Tristar доступен на шине I2C (адрес 0x34 для записи, 0x35 для чтения). Именно так diag и драйверы ядра с ним взаимодействуют.

О реестрах публично известно не так уж много. Много информации о самой карте регистра можно получить из утёкшего исходного кода iBoot (только для THS7383 — кажется, обратно совместимого с CBTL1608 — и CBTL1610), но не так много о том, что нужно туда записать, чтобы добиться каких-то интересных результатов.

Ещё одним источником знаний является модуль Tristar из diags (легко извлекаемый через SWD во время его работы). Например, мне удалось отреверсить алгоритмы чтения состояния подготовки и ESN. Затем я реализовал это как дополнение к моей нагрузке для iBoot под названием Lina:

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

Я также попытался изменить алгоритм записи ESN, но потерпел неудачу — механизм слишком сложный для меня. Однако фрагменты кода от Lina доступны здесь.

Электрические характеристики Tristar

Сам Tristar питается от источника 1,8 В. Линии для IDBUS устойчивы к 3,0 В, согласно моему осциллографу:

Кабель lightning для чего. Смотреть фото Кабель lightning для чего. Смотреть картинку Кабель lightning для чего. Картинка про Кабель lightning для чего. Фото Кабель lightning для чего

Таким образом, без схемы сдвига уровня лучше не пытаться взаимодействовать с IDBUS с помощью устройств, устойчивых к 5 В, как некоторые модели Arduino.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *