Маленький компьютер с собственной прошивкой: как устроены Lightning-адаптеры для iOS Статьи редакции
Они работают на отдельной ОС, которая даже не хранится в самих устройствах.
Разработчик Лиза Браун рассказала в Твиттере, как устроены Lighting-видеоадаптеры для iOS. Оказалось, что это мини-компьютеры, работающие на собственной прошивке, подгружаемой извне. Браун разобрала одно из устройств и изучила его ПО.
Apple выпускает два Lightning-адаптера для вывода видео: с цифровым HDMI и аналоговым VGA. Как отметила Браун, оба устройства поддерживают вывод видео в разрешении Full HD, но «ужасно» работают. Например, HDMI-переходник на американском сайте Apple покупатели оценивают на 2 из 5 звёзд.
Адаптеры прозвали словом Haywire, и они работают на одном чипе — S5L8747 с серийным номером H9TKNNN2GD. Он представляет собой ARM-процессор с 256 мегабайтами оперативной памяти, но больше о нём почти ничего неизвестно.
Как выяснила Браун, адаптеры работают на отдельной ОС, но на самих устройствах ничего не хранится: прошивка каждый раз подгружается с iOS или из сети. Размер системы составляет 25 мегабайт в несжатом виде.
Прошивка подписана заранее и не требует дополнительной настройки. При этом в отличие от всех устройств, начиная с iOS 5, ПО адаптеров (iBSS) поддерживает режим восстановления с интерактивной оболочкой и используется для загрузки кэша ядра по USB.
Как рассказала Браун, SecureROM (или Bootrom) устройств можно обмануть с помощью аппаратных «трюков». Обычно это небольшой загрузчик, который запускается первым при включении устройств Apple и работает только в режиме чтения.
Однако, по словам девушки, в случае с видеоадаптерами как минимум у одного человека получилось обойти защиту. Она не смогла получить дамп памяти загрузчика, но по словам её источника, он «очень похож на A6» (чип, который Apple использовала в iPhone 5 и 5c).
Разработчик также отметила, что адаптеры легко можно подключить к компьютерам, так как это, по сути, USB-устройства. Для этого нужно соединить Lightning к материнскому micro-USB-разъёму с помощью нескольких проводов и платы расширения.
Впервые о необычной особенности видеоадаптеров Apple заговорили в 2013 году. Тогда сотрудники компании Panic заметили, что переходник Lightning-HDMI работает не в Full HD-разрешении, а также выдаёт артефакты и глючит.
Специалисты решили выяснить, с чем это связано и начали изучать, как устроен адаптер. Их первой догадкой было то, что устройство каким-то образом связано с технологией беспроводной передачи данных AirPlay: при дублировании экрана на Apple TV сотрудники Panic замечали похожие артефакты.
Я не имею в виду AirPlay в качестве сетевого протокола, скорее как систему сжатия видео. Адаптер должен каким-то образом устанавливать соединение с iOS-устройством, которое к нему подключено. Он точно не передаёт чистый сигнал с устройства по HDMI, а скорее отображает поток с апскейлом до 1080p.
В компании также разобрали один из адаптеров и обнаружили внутри ARM-процессор. Сотрудники Panic пришли к выводу, что были правы в догадках и переходник действительно обрабатывает поток с iOS-устройства и отдаёт на выход уже сжатые данные. По их мнению, инженеры Apple пошли на это, потому что Lightning не способен передавать чистое видео.
Один из бывших сотрудников Apple позже предположил, что адаптер работает на «мини-iOS», которая загружается в течение нескольких секунд после подключения к устройству. В Panic пояснили, что это может объяснять задержку до начала работы адаптера.
Плохие новости? Из-за внутреннего стриминга качество оставляет желать лучшего и это не 1080p. Мы жаждем чистого, нетронутого HDMI-выхода.
Хорошие новости? Если кто-то пожалуется, что этот необязательный адаптер стоит 50 долларов, скажите им, что это крошечный компьютер!
После записи в блоге Panic пользователь под псевдонимом Anonymous Coward («Анонимный трус»), представившийся сотрудником Apple, опубликовал развёрнутый комментарий. Он подтвердил часть догадок сотрудников компании и раскрыл вероятные подробности создания адаптера.
По словам пользователя, ядро прошивки устройства основано на XNU, но это его единственная схожесть с iOS. В ПО нет графического интерфейса и утилит, и оно предназначено только для одной цели — принимать данные от устройства пользователя, декодировать поток и выводить его через A/V-коннекторы.
Там есть набор модулей ядра, которые отвечают за передачу данных низшего уровня и вывод HDMI, но это всё. Я бы хотел сказать больше, но я не просто так публикуюсь от имени «Анонимного труса».
Комментатор подтвердил, что причиной сложности адаптера стало то, что Lightning-разъём не способен передавать HDMI-сигнал в чистом виде по кабелю. По словам Anonymous Coward, в Apple сделали это не для того, чтобы обмануть клиентов. Инженеры намеренно перенесли все «сложности» в адаптер, чтобы избавить владельцев iOS-устройств от проблем из-за «всего, что находится на другом конце Lightning-кабеля».
Этот адаптер существует только потому что Lightning просто не способен передавать «чистый» HDMI-сигнал по кабелю. Lightning это просто последовательный порт.
Комментатор подтвердил, что адаптер связан с AirPlay, потому что она включает в себя набор аппаратных технологий по кодированию в формате h264. У инженеров был к ним доступ, поэтому они задействовали их в адаптере.
При этом, по словам пользователя, благодаря такому решению Apple может сделать Lightning-адаптер для любого разъёма, и для этого не потребуется вносить аппаратные изменения — только изменить ПО. Таким образом компания сможет поддерживать вывод изображения на любое устройство на планете, просто создав для него переходник.
Анонимный комментатор отметил, что несколько человек в команде в курсе о плохом качестве изображения и над этим уже работают, однако пока его считают «приемлемым». Он также пояснил, что так как прошивка загружается извне и находится в оперативной памяти, Apple может вносить изменения в работу адаптеров с каждым релизом iOS.
Прямо как облезающие экраны, залипающие клавиатуры, тормознутое облако и еще кучу косяков на устройствах от 1000$
Apple - Think Priemlimo
not good, not terrible, just priemlimo
Комментарий недоступен
Облезающие экраны и щалипающие клавиатуры бесплатно заменяли.
Комментарий недоступен
До создайте вы уже загон себе для Apple своего
Этот загон уже есть — хештег #Apple. Если тебе что-то не нравится — просто вносишь его в игнор и больше не видишь ничего, связанного с этой компанией
У меня теперь спортивный интерес, пойдет ли дум на переходнике?
Комментарий недоступен
В голос, конечно, с того, что кабель за $50 работает на порядок хуже кабеля за $20
На али есть за 650 рублей такой адаптер-видеокарта с usb входом
Комментарий недоступен
И часто ты по проводу передаёшь видео с телефона на телевизор по VGA?
Адаптар вышел в продажу в 2013 году, какой нахуй USC-C ?
Комментарий недоступен
-
Комментарий недоступен
Это не баг, в фича.
Это рудимент, который нужен полторе калеки
Комментарий недоступен
тоже в ахуе от удивлений на эту тему сейчас
Комментарий недоступен
Комментарий недоступен
Вот поэтому я и покупаю только технику от Apple inc.
Комментарий недоступен
Комментарий недоступен