Como o adaptador de vídeo Apple Lightning funciona

Este é meu pequeno tópico no Twitter sobre os adaptadores de vídeo Lightning, também conhecido como Haywire, que na verdade são computadores Apple Secure Boot com núcleo de Darwin.



Existem dois tipos de Haywire:

  1. Adaptador AV Digital Lightning (b137ap / iAccy1,1): adaptador de Lightning para HDMI, suporta vídeo e áudio.

  2. Adaptador Lightning para VGA (b165ap / iAccy1,2) - não suporta áudio por um motivo óbvio.


Ambos suportam vídeo até 1080p e usam o mesmo SoC - S5L8747. Número do chip H9TKNNN2GD. De acordo com o Wiki do iPhone, ele possui 256 MB de RAM. Nada mais se sabe.

Infelizmente, esses adaptadores têm uma qualidade terrível. O adaptador HDMI recebeu 2 de 5 estrelas na Apple Store nos Estados Unidos e os comentários são sobre o seguinte:

1 estrela de 5

Parou de funcionar após vários usos! Desperdício de dinheiro!

Comprei este adaptador de vídeo Lightning por US $ 50. Eu e as crianças gostamos muito dele. Na primeira noite, tudo funcionou bem! Fomos capazes de assistir ao filme através do aplicativo no telefone. Na segunda vez, também não houve problemas. Mas na terceira vez ele parou de trabalhar. Eu pensei que o problema estava no cabo HDMI, então comprei um mais caro. Ele voltou para casa, conectou-o, mas a situação não mudou! Eu tentei em três TVs diferentes, mas sem sucesso! Na semana passada, atualizei para o iPhone XR (costumava ser o iPhone 6) e decidi que agora tudo funcionaria, mas não! Absolutamente desperdício de dinheiro! A Apple faz ótimos produtos, mas definitivamente não é um deles! Apenas desapontado. Se eu soubesse que ele falharia em alguns dias, teria gastado US $ 50 em algo mais útil para as crianças.

Postado por Joyce W do Grand Rapids em 19 de julho de 2019

Meu b137 sofreu o mesmo destino, então houve uma oportunidade de desmontá-lo. Veja como fica sem plástico:



Portanto, destrua a caixa de metal com um alicate.

Esses contatos de cobre são pontos de teste: alguns devem ser UART e SWD (ambos não estão disponíveis no Lightning):





O próprio Haywire não armazena nenhum firmware (bem, exceto o SecureROM); portanto, o iOS deve fazer o download sempre. O firmware é bastante pequeno, cerca de 25 MB na forma descompactada. Ele vem como um recurso pré-instalado com iOS e / ou pode ser baixado. Aqui está a estrutura da pasta:



O firmware é pré-assinado e não requer nenhuma personalização. O APTicket, embora usado, ainda é estático, ou seja, não está vinculado a nenhum ECID e nonce.

Ao contrário de todos os outros dispositivos iniciados no iOS 5, o iBSS for Haywire possui o modo de recuperação com um shell interativo. É usado para carregar o cache do kernel via USB (junto com o DeviceTree e o ramdisk, é claro).



Algumas informações interessantes sobre o software ramdisk estão aqui .

A Image3 no iBSS possui uma tag 'RAND' estranha e desconhecida, contendo um número inteiro de 64 bits e algum preenchimento. Não consegui encontrar o que essa tag significa, mesmo no vazamento do código-fonte do iBoot. Além disso, ele sempre tem apenas um KBAG:


Mapa de alocação de memória:


  0x20000000-0x20020000 - ROM (128 KB)
 0x22000000-0x22020000 - SRAM (128 KB) (o iBSS funciona a partir daqui)
 0x8000000-0x18000000 - SDRAM (256 MB)
 0x08000000-0x0B000000 - Área de download (48 MB)
 0x0B000000-0x0DF00000 - Núcleo (47 MB)
 0x0DF00000-0x0E000000 - Árvore de dispositivos (1 MB)
 0x0E000000-0x11000000 - Ramdisk (48 MB)
 0x11000000-0x17F00000 - Heap (111 MB)
 0x17F00000-0x17FFC000 - iBoot (não usado) (1008 kB)
 0x17FFC000-0x18000000 - Pânico (16kB) 

Seu SecureROM (iBoot-1413.8 na versão mais recente do chip), como você sabe, é redefinido usando truques de hardware. Pelo menos uma pessoa tem. Pedi-lhe um despejo, mas foi recusado por um motivo óbvio. Segundo ele, a ROM é muito parecida com a A6.

De acordo com fontes vazadas do iBoot, o Haywire usa a memória flash SPI NOR e está em cópias comerciais, mas não parece estar formatada, pois o comando saveenv no iBoot não funciona:


Você pode conectar facilmente o Haywire a um PC, porque é essencialmente um dispositivo USB. Tudo que você precisa é de uma placa de interrupção com contatos Lightning, uma mãe micro-USB e vários fios de conexão:



Diagrama de fiação:

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

Observe que o iPhone inicialmente fornece 3,3 V, mas no USB - 5 V. Não tenho certeza se é uma boa ideia, mas funciona. De qualquer forma, se você quebrar alguma coisa, não é minha culpa.



E aqui está o resultado!

Source: https://habr.com/ru/post/pt461607/


All Articles