C1
C4000
[edit | edit source]Le C4000 est le nom interne des premiers chipsets de bande de base conçus par Apple. Le C1 est utilisé dans l'iPhone 16e, tandis que le C1X est intégré dans l'iPhone Air, l'iPad Pro 11 pouces (M5) et l'iPad Pro 13 pouces (M5). Ces chipsets sont également connus sous la référence C4000 dans les firmwares.
- Numéro de pièce : APL1114
- Identifiant BasebandGoldCert : 4
Appareils et chipsets
[edit | edit source]| Appareil | Chipset | OS préinstallé | Bande de base préinstallée | Dernier OS | Dernière bande de base |
|---|---|---|---|---|---|
| iPhone 16e | C1 | 18.3 | 1.01.10 | Actuel | Actuel |
| iPhone Air | C1X | 26.0 | 2.00.07 | 26.0 | 2.00.07 |
| iPad Pro 11 pouces (M5) | C1X | 26.0 | ? | 26.0 | ? |
| iPad Pro 13 pouces (M5) | C1X | 26.0 | ? | 26.0 | ? |
Versions connues du firmware
[edit | edit source]iOS et iPadOS
[edit | edit source]| Bande de base | Version | Build |
|---|---|---|
| 1.01.10 | 18.3 | 22D8063 |
| 1.01.13 | 18.3.1 | 22D8075 |
| 1.01.14 | 18.3.2 | 22D8082 |
| 1.02.06-1 | 18.4 beta 2 | 22E5216h |
| 1.02.09-4 | 18.4 beta 3 | 22E5222f |
| 1.02.15 | 18.4 beta 4 | 22E5232a |
| 1.02.17 | 18.4 RC | 22E239 |
| 1.02.17 | 18.4 RC 2 | 22E240 |
| 1.02.17 | 18.4 | 22E252 |
| 1.02.17 | 18.4.1 | 22E252 |
| 1.02.59-1 | 18.5 beta | 22F5042g |
| 1.03.01 | 18.5 beta 2 | 22F5053f |
| 1.03.02 | 18.5 beta 3 | 22F5053j |
| 1.03.03 | 18.5 beta 4 | 22F5068a |
| 1.03.03 | 18.5 RC | 22F75 |
| 1.03.03 | 18.5 | 22F76 |
| 1.03.60-1 | 18.6 beta | 22G5054d |
| 1.03.60-1 | 18.6 beta 2 | 22G5064d |
| 1.04.02 | 18.6 beta 3 | 22G5073b |
| 1.04.02 | 18.6 RC | 22G84 |
| 1.04.02 | 18.6 | 22G86 |
| 1.04.02 | 18.6.1 | 22G90 |
| 1.04.02 | 18.6.2 | 22G100 |
| 1.04.02 | 18.7 RC | 22H20 |
| 1.04.02 | 18.7 | |
| 1.04.02 | 18.7.1 | 22H31 |
| 1.50.64-3 | 26.0 beta | 23A5260n |
| 1.50.64-3 | 26.0 beta | 23A5260u |
| 1.50.69-5 | 26.0 beta 2 | 23A5276f |
| 1.50.71-6 | 26.0 beta 3 | 23A5287g |
| 1.50.75-6.2 | 26.0 beta 4 | 23A5297i |
| 1.50.75-6.2 | 26.0 beta 4 | 23A5297m |
| 2.00.04 | 26.0 beta 5 | 23A5308g |
| 2.00.07 | 26.0 beta 6 | 23A5318c |
| 2.00.07 | 26.0 beta 6 | 23A5318f |
| 2.00.07 | 26.0 beta 7 | 23A5326a |
| 2.00.07 | 26.0 beta 8 | 23A5330a |
| 2.00.07 | 26.0 beta 9 | 23A5336a |
| 2.00.07 | 26.0 RC | 23A340 |
| 2.00.07 | 26.0 | 23A330 |
| 2.00.07 | 26.0 | 23A341 |
| 2.00.09 | 26.0.1 | 23A355 |
| 2.00.09 | 26.0.1 | 23A8464 |
| 2.00.58-3 | 26.1 beta | 23B5044l |
| 2.01.03 | 26.1 beta 2 | 23B5059e |
| 2.01.04 | 26.1 beta 3 | 23B5064e |
Format du firmware
[edit | edit source]Le firmware du modem est fourni sous forme de fichier FTAB dans l'IPSW d'iOS. Les segments sont les suivants :
| Tag | Taille | Description |
|---|---|---|
| ARC2 | 6 octets | Contient littéralement la chaîne empty.
|
| bver | 63 octets | Chaîne de version, par ex. `223.2256080003000000.2019 |
| ARC1 | 401 Ko | Nombre magique 0xfeedcafe. |
| CAR2 | 470 Ko | Nombre magique 0xfeedcafe. |
| CAR3 | 469 Ko | Nombre magique 0xfeedcafe. |
| ibdt | 272 octets | iBootData |
| l1c2 | 6,0 Ko | Entièrement composé d'octets 0x00. |
| rcpi | 2,8 Ko | Contient une liste de hachages SHA384 des autres sections. |
| apmu | 6,7 Ko | Code armv7/thumb, adresse de base = 0x20004000. |
| pmfw | 10 Ko | Code arm/thumb, adresse de base = 0x20000000. |
| illb | 526 Ko | Bootloader iBoot/LLB, code arm64, adresse de base = 0x4603C000. |
| cdpd | 15 Mo | Code arm64, contient une liste de segments 'fwsg' à la fin du fichier. |
| cdph | 965 Ko | Code armv7/thumb, contient une liste de segments 'fwsg' à la fin du fichier. |
| cdpu | 18 Mo | Code arm64, contient une liste de segments 'fwsg' à la fin du fichier. |
| l1cs | 67 Mo | Code arm64, contient une liste de segments 'fwsg' à la fin du fichier. |
| rkos | 69 Mo | Code arm64, contient une liste de segments 'fwsg' à la fin du fichier. |
| GNS1 | 460 Ko | Code pour l'architecture ARCv2, contient des chaînes avec Compiler: DesignWare ARC C/C++ Compiler O-2018.06.
|
| CR03 | 357 Ko | Compressé avec lzfse. |
| CR11 | 86 Ko | Compressé avec lzfse. |
| CR17 | 87 Ko | Compressé avec lzfse. |
| CR22 | 64 Ko | Compressé avec lzfse. |
| CR24 | 87 Ko | Compressé avec lzfse. |
| CR28 | 64 Ko | Compressé avec lzfse. |
| CR29 | 64 Ko | Compressé avec lzfse. |
| CR33 | 64 Ko | Compressé avec lzfse. |
| CR34 | 64 Ko | Compressé avec lzfse. |
| R104 | 554 Ko | |
| R112 | 547 Ko | |
| R118 | 589 Ko | |
| R123 | 550 Ko | |
| R125 | 588 Ko | |
| R129 | 631 Ko | |
| R130 | 630 Ko | |
| R134 | 627 Ko | |
| R135 | 627 Ko | |
| R203 | 15 Ko | |
| R204 | 121 Ko | |
| RP03 | 47 Ko | |
| RP11 | 18 Ko | |
| RP17 | 36 Ko | |
| RP22 | 143 Ko | |
| RP24 | 36 Ko | |
| RP28 | 81 Ko | |
| RP29 | 39 Ko | |
| RP33 | 39 Ko | |
| RP34 | 39 Ko |
Segments compressés avec lzfse
[edit | edit source]Les segments marqués comme "lzfse-compressed" ont l'en-tête suivant, en petit-boutiste (little-endian) :
u32 id;
u32 decompressed_length;
u32 compressed_length;
u8[compressed_length] lzfse_data;
Le champ "id" est unique pour chaque fichier. Les données décompressées commencent par :
u32 id;
u32 magic;
Le champ "id" correspond à celui de l'en-tête de compression. Le champ "magic" dépend du segment :
CR?? : 0x00000000
R1?? : 0xdeadc101
R2?? : 0xdeadc201
RP?? : 0xdeadc301
Format fwsg
[edit | edit source]Certains binaires utilisent le format fwsg. Un chargeur IDA pour ce format est disponible ici : https://github.com/nlitsme/AppleC4000.
Conclusion
[edit | edit source]Le C4000 (C1 et C1X) représente les premiers chipsets de bande de base conçus par Apple, intégrés dans l'iPhone 16e, l'iPhone Air, et les iPad Pro (M5). Fournis sous forme de fichiers FTAB dans les IPSW d'iOS, ces firmwares incluent divers segments pour le matériel et le logiciel du modem, avec des sections spécifiques pour les architectures ARM et ARCv2, ainsi que des données compressées avec lzfse. La liste des versions de firmware montre une progression constante des mises à jour pour iOS 18.x à 26.x, reflétant l'évolution des fonctionnalités et de la stabilité du modem.
Pour plus d'informations, consultez The Apple Wiki.