Войти

Или войди с помощью

Тред: поразительный секрет работы Lightning-адаптеров Apple

Это полноценный компьютер внутри кабеля!
Артём Баусов avatar |
Тред: поразительный секрет работы Lightning-адаптеров Apple

Пользователь Twitter с ником @nyan_satan рассказал о работе Lightning-видеоадаптеров от Apple. Они не так просты, как кажутся.

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

1. Первый тип: Lightning Digital AV Adapter (b137ap/iAccy1,1)

Эти адаптеры передают информацию с Lightning на HDMI. Поддерживается видео и аудио.

2. Второй тип: Lightning to VGA Adapter (b165ap/iAccy1,2)

Конкретно этот адаптер передаёт только видео.

Оба указанных выше переходника поддерживают видео до 1080p и используют одинаковый SOC (System On Chip) — S5L8747. Номер микросхемы: H9TKNNN2GD. В ней 256 МБ оперативной памяти.

К сожалению, они ужасного качества. Автор треда заметил, что на сайте Apple у аксессуара всего 2 звезды из 5. Пользователю тоже не повезло, адаптер за $50 внезапно перестал работать. Ниже продолжается тред от лица разработчика:

3. Мой b137 постигла та же судьба, так что появилась возможность его разобрать. Вот так он выглядит без пластикового корпуса

4. Разбираем корпус целиком. Медные контакты представляют собой точки тестирования: некоторые должны быть UART и SWD (оба недоступны через Lightning)

UART — это универсальный асинхронный приёмопередатчик или узел вычислительных устройств, предназначенный для организации связи с другими девайсами.

SWD (Serial Wire Debug) — это интерфейс для отладки и прошивки микроконтроллера.

5. В самом адаптере нет никакой прошивки (ну, кроме SecureROM), поэтому iOS должна каждый раз её загружать самостоятельно

Прошивка достаточно маленькая, весит около 25 МБ в несжатом виде. Поставляется как предустановленный ресурс с iOS, и её можно загрузить. Вот структура папок:

6. Прошивка предварительно подписана и не требует никакой персонализации

Уникальный зашифрованный код APTicket хотя и используется, но всё же статичен, то есть не привязан ни к какой системе защиты ECID и однократно используемому числу nonce.

В отличие от всех других устройств, начиная с iOS 5, в эпизодической сети iBSS для видеоадаптеров есть режим Recovery с интерактивной оболочкой. Он нужен для загрузки кэша ядра по USB (вместе с древом устройств DeviceTree и ramdisk, разумеется).

ramdisk — это технология, позволяющая создать обычный диск в оперативной памяти.

Интересная информация о программном обеспечении на ramdisk здесь.

7. У Image3 в iBSS странный, ранее неизвестный тег «RAND», содержащий 64-разрядное целое число и некоторое наполнение

Я не смогла найти, что означает этот тег, даже в исходном коде загрузчика iBoot. Кроме того, у него всегда только один KBAG (формат защищённых файлов).

IMG3 (Image3) — это формат файлов, используемый для доступа iOS к системе устройства.

Карта распределения памяти:

0x20000000-0x20020000 – ROM (128 KB)
0x22000000-0x22020000 – SRAM (128 KB) (iBSS работает отсюда)
0x8000000-0x18000000 – SDRAM (256 MB)
0x08000000-0x0B000000 – Область загрузки (48 MB)
0x0B000000-0x0DF00000 – Ядро (47 MB)
0x0DF00000-0x0E000000 – Дерево устройств (1 MB)
0x0E000000-0x11000000 – Ramdisk (48 MB)
0x11000000-0x17F00000 – Куча (111 MB)
0x17F00000-0x17FFC000 – iBoot (не используется) (1008 kB)
0x17FFC000-0x18000000 – Panic (16kB)

Его SecureROM (iBoot-1413.8 в последней версии) сбрасывается с помощью аппаратных обходов. По крайней мере, у одного человека это получилось. Я попросила у него дамп, но получила отказ по очевидной причине. По его словам, ROM очень похожа на аналогичную в процессоре A6.

8. Согласно утёкшим исходникам iBoot, в Haywire используется флэш-память SPI NOR

Она есть в коммерческих версиях, но, похоже, не отформатирована, поскольку команда saveenv в iBoot не проходит:

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

9. Вы можете легко подключить Haywire к ПК, потому что это USB-устройство

Вам нужна только плата с контактами Lightning, microUSB типа «мама» и несколько соединительных проводов:

10. Схема соединения

GND -> GND
L0p -> D+
L0n -> D-
ID1 (ACC_PWR1) -> VCC

Обратите внимание, что iPhone изначально даёт 3.3 В, но на USB — 5 В. Не уверена, что это хорошая идея, но она сработала. В любом случае, если что-то сломаете, я не виноват.

11. Результат: все работает!

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

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

19
Логотип iPhones.ru
iPhones.ru
Это полноценный компьютер внутри кабеля!

19 комментариев

Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик из TikTok
Котик из TikTok
Котик из TikTok
Котик из TikTok
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Видео мем
Видео мем
Видео мем
Видео мем
Видео мем
Видео мем

Какие правила в комментариях
  1. t-n avatar
    t-n 29 июля 2019
    0

    Сегодня будет ios beta ? Интересно !

    Phonerz avatar
    Phonerz29 июля 2019
    1

    @t-n, нет.

    t-n avatar
    t-n29 июля 2019
    0

    @Phonerz, да вышла

    Phonerz avatar
    Phonerz29 июля 2019
    0

    @t-n, ну, часто они это делали во вторник.

    T avatar
    T29 июля 2019
    0

    @t-n, вышла

    Войди на сайт, чтобы ответить
    Ответить

Нашли орфографическую ошибку в новости?

Выделите ее мышью и нажмите Ctrl+Enter.