Fonctionnement de l'adaptateur vidéo Apple Lightning

Voici mon petit fil Twitter sur les adaptateurs vidéo Lightning, également connus sous le nom de Haywire, qui sont en fait des ordinateurs Apple Secure Boot avec Darwin Core.



Il existe deux types de Haywire:

  1. Adaptateur AV numérique Lightning (b137ap / iAccy1,1): adaptateur de Lightning à HDMI, prend en charge la vidéo et l'audio.

  2. Adaptateur Lightning vers VGA (b165ap / iAccy1,2) - ne prend pas en charge l'audio pour une raison évidente.


Les deux prennent en charge la vidéo jusqu'à 1080p et utilisent le même SoC - S5L8747. Numéro de puce H9TKNNN2GD. Selon l'iPhone Wiki, il dispose de 256 Mo de RAM. Rien de plus n'est connu.

Malheureusement, ces adaptateurs ont une qualité terrible. L'adaptateur HDMI a reçu 2 étoiles sur 5 sur l'Apple Store aux États-Unis, et les critiques le concernant sont les suivantes:

1 étoile sur 5

A cessé de fonctionner après plusieurs utilisations! Gaspillage d'argent!

J'ai acheté cet adaptateur vidéo Lightning pour 50 $. Moi et les enfants l'aimions vraiment. Le premier soir, tout a bien fonctionné! Nous avons pu regarder le film via l'application sur le téléphone. La deuxième fois, il n'y a eu aucun problème non plus. Mais la troisième fois, il a cessé de travailler. Je pensais que le problème était dans le câble HDMI, alors je suis allé en acheter un plus cher. Il est rentré chez lui, l'a connecté, mais la situation n'a pas changé! J'ai essayé sur trois téléviseurs différents, mais en vain! La semaine dernière, je suis passé à l'iPhone XR (c'était l'iPhone 6) et j'ai décidé que maintenant tout fonctionnerait, mais non! Absolument gaspillage d'argent! Apple fabrique d'excellents produits, mais ce n'est certainement pas l'un d'entre eux! Juste déçu. Si je savais qu'il échouerait dans quelques jours, j'aurais dépensé 50 $ pour quelque chose de plus utile pour les enfants.

Publié par Joyce W de Grand Rapids le 19 juillet 2019

Mon b137 a subi le même sort, il y avait donc une opportunité de le démonter. Voici à quoi cela ressemble sans plastique:



Alors, détruisez le boîtier métallique avec une pince.

Ces contacts en cuivre sont des points de test: certains doivent être UART et SWD (les deux ne sont pas disponibles via Lightning):





Haywire lui-même ne stocke aucun firmware (enfin, à l'exception de SecureROM), donc iOS doit le télécharger à chaque fois. Le firmware est assez petit, environ 25 Mo sous forme non compressée. Il s'agit d'une ressource préinstallée avec iOS et / ou il peut être téléchargé. Voici la structure des dossiers:



Le firmware est pré-signé et ne nécessite aucune personnalisation. APTicket, bien qu'utilisé, est toujours statique, c'est-à-dire qu'il n'est lié à aucun ECID et nonce.

Contrairement à tous les autres appareils commençant par iOS 5, iBSS pour Haywire dispose d'un mode de récupération avec un shell interactif. Il est utilisé pour charger le cache du noyau via USB (avec DeviceTree et ramdisk, bien sûr).



Quelques informations intéressantes sur le logiciel ramdisk sont ici .

Image3 dans iBSS a une balise 'RAND' étrange, auparavant inconnue, contenant un entier 64 bits et un remplissage. Je n'ai pas pu trouver ce que signifie cette balise, même dans la fuite de code source d'iBoot. De plus, il n'a toujours qu'un seul KBAG:


Carte d'allocation de mémoire:


  0x20000000-0x20020000 - ROM (128 Ko)
 0x22000000-0x22020000 - SRAM (128 Ko) (iBSS fonctionne à partir d'ici)
 0x8000000-0x18000000 - SDRAM (256 Mo)
 0x08000000-0x0B000000 - Zone de téléchargement (48 Mo)
 0x0B000000-0x0DF00000 - Core (47 Mo)
 0x0DF00000-0x0E000000 - Arborescence des périphériques (1 Mo)
 0x0E000000-0x11000000 - Ramdisk (48 Mo)
 0x11000000-0x17F00000 - Tas (111 Mo)
 0x17F00000-0x17FFC000 - iBoot (non utilisé) (1008 kB)
 0x17FFC000-0x18000000 - Panique (16 Ko) 

Sa SecureROM (iBoot-1413.8 dans la dernière version de la puce), comme vous le savez, est réinitialisée à l'aide d'astuces matérielles. Au moins une personne l'a fait. Je lui ai demandé un dépotoir, mais on m'a refusé pour une raison évidente. Selon lui, le ROM est très similaire à l'A6.

Selon des sources iBoot divulguées, Haywire utilise la mémoire flash SPI NOR, et elle se trouve dans des copies commerciales, mais elle ne semble pas être formatée, car la commande saveenv dans iBoot ne fonctionne pas:


Vous pouvez facilement connecter Haywire à un PC, car il s'agit essentiellement d'un périphérique USB. Tout ce dont vous avez besoin est une carte de dérivation avec des contacts Lightning, une mère micro-USB et plusieurs fils de connexion:



Schéma de câblage:

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

Veuillez noter que l'iPhone donne initialement 3,3 V, mais sur USB - 5 V. Je ne sais pas si c'est une bonne idée, mais cela fonctionne. En tout cas, si vous cassez quelque chose, ce n'est pas de ma faute.



Et voici le résultat!

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


All Articles