GalaxySIIIGTI9300 » History » Version 74
Denis 'GNUtoo' Carikli, 02/29/2020 03:34 PM
1 | 67 | Denis 'GNUtoo' Carikli | h1. Galaxy S III (GT-I9300) |
---|---|---|---|
2 | 1 | Paul Kocialkowski | |
3 | {{>toc}} |
||
4 | |||
5 | 67 | Denis 'GNUtoo' Carikli | |/9. !galaxys3.png! | *Device* | Galaxy S III (GT-I9300) | |
6 | 1 | Paul Kocialkowski | | *Manufacturer* | Samsung | |
7 | 10 | Paul Kocialkowski | | *Release date* | May 2012 | |
8 | 1 | Paul Kocialkowski | | *Codename* | @i9300@ | |
9 | | *Status* | Maintained | |
||
10 | 17 | Wolfgang Wiedmeyer | |/2. *Maintainer(s)* | [[People#Paul-Kocialkowski|Paul Kocialkowski]] | |
11 | | [[People#Wolfgang-Wiedmeyer|Wolfgang Wiedmeyer]] | |
||
12 | 20 | Kurtis Hanna | | *Supported models* | GSM: GT-I9300 | |
13 | 21 | Wolfgang Wiedmeyer | | *Latest images* | [[ReplicantImages#Replicant-60-0003-images|Replicant 6.0 0003]] | |
14 | 1 | Paul Kocialkowski | |
15 | h2. Replicant status |
||
16 | |||
17 | 67 | Denis 'GNUtoo' Carikli | Replicant status for the Galaxy S III (GT-I9300): [[ReplicantStatus#Replicant-60|ReplicantStatus Replicant 6.0]] |
18 | 1 | Paul Kocialkowski | |
19 | 10 | Paul Kocialkowski | h2. Replicant installation |
20 | 1 | Paul Kocialkowski | |
21 | 67 | Denis 'GNUtoo' Carikli | To install Replicant on the Galaxy S III (GT-I9300), see the [[RecoveryInstallationWithHeimdall]] and [[MinorVersionUpgrade]] wiki pages. |
22 | 1 | Paul Kocialkowski | |
23 | 10 | Paul Kocialkowski | h2. Replicant usage |
24 | 1 | Paul Kocialkowski | |
25 | 67 | Denis 'GNUtoo' Carikli | * Galaxy S III (GT-I9300) compass calibration: [[GalaxyS3I9300CompassCalibration]] |
26 | 1 | Paul Kocialkowski | |
27 | 10 | Paul Kocialkowski | h2. Replicant build |
28 | 1 | Paul Kocialkowski | |
29 | 67 | Denis 'GNUtoo' Carikli | Replicant build for the Galaxy S III (GT-I9300): [[GalaxyS3I9300Build]] |
30 | 6 | Paul Kocialkowski | |
31 | 10 | Paul Kocialkowski | h2. Replicant development |
32 | 1 | Paul Kocialkowski | |
33 | 67 | Denis 'GNUtoo' Carikli | * Galaxy S III (GT-I9300) UART: [[GalaxyS3I9300UART]] |
34 | 6 | Paul Kocialkowski | |
35 | 16 | Denis 'GNUtoo' Carikli | h2. Freedom and privacy/security evaluation |
36 | 10 | Paul Kocialkowski | |
37 | 15 | Denis 'GNUtoo' Carikli | See [[GalaxyS3I9300PrivacySecurityEvaluation]] for more details. |
38 | 10 | Paul Kocialkowski | |
39 | h2. Research |
||
40 | |||
41 | 1 | Paul Kocialkowski | h3. Hardware table |
42 | |||
43 | 10 | Paul Kocialkowski | |_. Component |_. Name |_. Source |_. Status | |
44 | | SoC | Samsung Exynos 4412 | "iFixit":http://www.ifixit.com/Teardown/Samsung+Galaxy+S+III+Teardown/9391/2 | Linux kernel support | |
||
45 | 24 | Denis 'GNUtoo' Carikli | | GPU | Mali 400 | "wikipedia":https://secure.wikimedia.org/wikipedia/en/wiki/Exynos | Linux kernel and secret userspace | |
46 | 10 | Paul Kocialkowski | | Audio Codec | WM8994 | Linux kernel | Linux kernel support (ALSA) | |
47 | | Modem | XMM6260 | Linux kernel | Free userspace implementation: [[Samsung-RIL]]/[[libsamsung-ipc]] | |
||
48 | | Wi-Fi | BCM4334 | Linux kernel | Linux kernel support, proprietary loaded firmware | |
||
49 | | Bluetooth | BCM4334 | Linux kernel | Linux kernel support, proprietary loaded firmware | |
||
50 | | NFC | PN544 | Linux kernel | Linux kernel support | |
||
51 | 18 | Jens Korte | | GPS | BCM47511 | "iFixit":http://www.ifixit.com/Teardown/Samsung+Galaxy+S+III+Teardown/9391/2 | Proprietary userspace, no free implementation: [[BCM4751]] | |
52 | 10 | Paul Kocialkowski | | Accelerometer | LSM330DLC | Linux kernel | Linux kernel support, free userspace | |
53 | | Compass | AKM8975 | Kernel sources | Linux kernel support, free userspace | |
||
54 | | Light/proximity sensor | CM36651 | Kernel sources | Linux kernel support, free userspace | |
||
55 | | Gyroscope | LSM330DLC | Kernel sources | Linux kernel support, free userspace | |
||
56 | | Barometer | LPS331AP | Kernel sources | Linux kernel support, free userspace | |
||
57 | 11 | Paul Kocialkowski | | Camera (back) | S5C73M3 | Linux kernel | Linux kernel support, free userspace | |
58 | | Camera (front) | S5K6A3 | Linux kernel | Linux kernel support, free userspace, proprietary loaded firmware | |
||
59 | 22 | Denis 'GNUtoo' Carikli | |
60 | h3. Software Configuration |
||
61 | |||
62 | 71 | Denis 'GNUtoo' Carikli | h4. PIT |
63 | |||
64 | The PIT of a 16G version of the Galaxy SIII (GT-I9300) can be found in the [[GalaxyS3I9300Pit]] page. |
||
65 | |||
66 | The PIT is a partition table used at least by the bootloader in the odin mode that Heimdal uses. |
||
67 | |||
68 | If we look at the BOTA0 partition entry in the PIT we have: |
||
69 | <pre> |
||
70 | --- Entry #4 --- |
||
71 | Binary Type: 0 (AP) |
||
72 | Device Type: 2 (MMC) |
||
73 | Identifier: 1 |
||
74 | Attributes: 5 (Read/Write) |
||
75 | Update Attributes: 1 (FOTA) |
||
76 | Partition Block Size/Offset: 8192 |
||
77 | Partition Block Count: 8192 |
||
78 | File Offset (Obsolete): 0 |
||
79 | File Size (Obsolete): 0 |
||
80 | Partition Name: BOTA0 |
||
81 | Flash Filename: - |
||
82 | FOTA Filename: |
||
83 | </pre> |
||
84 | |||
85 | 72 | Denis 'GNUtoo' Carikli | As for what the fields can mean: |
86 | 71 | Denis 'GNUtoo' Carikli | <pre> |
87 | Binary Type: 0 (AP) |
||
88 | </pre> |
||
89 | AP probably means application processor which means that the partition is used by the CPU running Android, and not the modem. |
||
90 | |||
91 | <pre> |
||
92 | Partition Block Size/Offset: 8192 |
||
93 | Partition Block Count: 8192 |
||
94 | </pre> |
||
95 | This is in blocks of 512 bytes. |
||
96 | |||
97 | <pre> |
||
98 | Partition Name: BOTA0 |
||
99 | </pre> |
||
100 | 72 | Denis 'GNUtoo' Carikli | This is the partition name, which here is the same in the GPT partition table. |
101 | 71 | Denis 'GNUtoo' Carikli | |
102 | <pre> |
||
103 | Identifier: 1 |
||
104 | </pre> |
||
105 | That identifier seem to be increased at each next partition, bit it is different for the PIT partitions that are on the mmcblk0boot0 partition for instance. |
||
106 | |||
107 | 73 | Denis 'GNUtoo' Carikli | For instance if we loot at @BOOTLOADER@ we have @Identifier: 80@ and for @TZSW@ we have @Identifier: 81@. Both partitions are located on a different hardware partition of the eMMC (which is considered like a different block device in Linux). |
108 | |||
109 | 71 | Denis 'GNUtoo' Carikli | h4. GPT |
110 | |||
111 | The mmcblk0 block device also has a GPT. |
||
112 | 25 | Denis 'GNUtoo' Carikli | |
113 | 74 | Denis 'GNUtoo' Carikli | h4. Locating the PIT and MD5HDR |
114 | |||
115 | The following doesn't seem to work: |
||
116 | <pre> |
||
117 | $ dd if=mmcblk0 seek=34 count=16 of=PIT |
||
118 | 16+0 records in |
||
119 | 16+0 records out |
||
120 | </pre> |
||
121 | |||
122 | <pre> |
||
123 | $ heimdall print-pit --file PIT |
||
124 | Heimdall v1.4.2 |
||
125 | |||
126 | Copyright (c) 2010-2017 Benjamin Dobell, Glass Echidna |
||
127 | http://www.glassechidna.com.au/ |
||
128 | |||
129 | This software is provided free of charge. Copying and redistribution is |
||
130 | encouraged. |
||
131 | |||
132 | If you appreciate this software and you would like to support future |
||
133 | development please consider donating: |
||
134 | http://www.glassechidna.com.au/donate/ |
||
135 | |||
136 | Entry Count: 0 |
||
137 | Unknown 1: 0 |
||
138 | Unknown 2: 0 |
||
139 | Unknown 3: 0 |
||
140 | Unknown 4: 0 |
||
141 | Unknown 5: 0 |
||
142 | Unknown 6: 0 |
||
143 | Unknown 7: 0 |
||
144 | Unknown 8: 0 |
||
145 | </pre> |
||
146 | |||
147 | 25 | Denis 'GNUtoo' Carikli | h4. Partitions |
148 | |||
149 | 63 | Denis 'GNUtoo' Carikli | |_. PIT |_. Linux name |_. block device |_. mount point |_. partition type |_. Description |_. size @ 16G | |
150 | 64 | Denis 'GNUtoo' Carikli | | BOOTLOADER |/2\3. mmcblk0boot0, not visible on Replicant 6.0 | Unknown, raw data? | The bootloader? |/2. 4M | |
151 | 57 | Denis 'GNUtoo' Carikli | | TZSW | Unknown, raw data? | The signed TrustZone OS | |
152 | 64 | Denis 'GNUtoo' Carikli | | Not visible in the PIT |\3. mmcblk0boot1, not visible on Replicant 6.0 | empty | Unused | 4M | |
153 | 65 | Denis 'GNUtoo' Carikli | | PIT |\3. Not visible on Replicant 6.0, location unknown |\2. The PIT partition table | |
154 | 57 | Denis 'GNUtoo' Carikli | | MD5HDR |\3. Not visible on Replicant 6.0, location unknown | Unknown, raw data? | Used during boot to validate partitions? | |
155 | 70 | Denis 'GNUtoo' Carikli | |\2. BOTA0 | mmcblk0p1 |/2. None |/2. empty |/2. ? |/2. 4"MiB":https://en.wikipedia.org/wiki/Mebibyte | |
156 | 52 | Denis 'GNUtoo' Carikli | |\2. BOTA1 | mmcblk0p2 | |
157 | 63 | Denis 'GNUtoo' Carikli | |\2. EFS | mmcblk0p3 | /efs | ext4 | modem data partition | 20M | |
158 | 69 | Denis 'GNUtoo' Carikli | |\2. PARAM | mmcblk0p4 | None | tar file, can be unpacked with gnu tar | * Bootloader settings[1] |
159 | 1 | Paul Kocialkowski | * Boot modes[1] |
160 | 68 | Jens Korte | * Splash screen[1] |
161 | * several JPGs regarding download mode, loading empty battery, hardware/watchdog reset and other | 8M | |
||
162 | 63 | Denis 'GNUtoo' Carikli | |\2. BOOT | mmcblk0p5 | None | bootimage (mkbootimg) | boot.img partition | 8M | |
163 | |\2. RECOVERY | mmcblk0p6 | None | bootimage (mkbootimg) | recovery partition | 8M | |
||
164 | |\2. RADIO | mmcblk0p7 | None | Unknown, raw data? | Modem OS partition | 32M | |
||
165 | |\2. CACHE | mmcblk0p8 | /cache | f2fs | cache partition | 1G | |
||
166 | |\2. SYSTEM | mmcblk0p9 | /system | ext4 | system partition | 1.5G | |
||
167 | 62 | Denis 'GNUtoo' Carikli | |\2. HIDDEN | mmcblk0p10 | /preload | ext4 | Samsung promotional medias: |
168 | 58 | Denis 'GNUtoo' Carikli | * Over_the_horizon.mp3 |
169 | 63 | Denis 'GNUtoo' Carikli | * Wonders_of_Nature.mp4 | 560M | |
170 | |\2. OTA | mmcblk0p11 | None | empty | probably only used during OTA updates? | 8M | |
||
171 | |\2. USERDATA | mmcblk0p12 | /data | ext4 | data partition | 11.5G | |
||
172 | 42 | Denis 'GNUtoo' Carikli | |
173 | fn1. According to "a forum thread on XDA developers":https://forum.xda-developers.com/showthread.php?t=1986887 "About Params: The params contains the splash screens you see when you turn your phone on and settings which control boot. These settings include UART output, kernel parmeters, and boot modes." |
||
174 | 53 | Denis 'GNUtoo' Carikli | |
175 | 54 | Denis 'GNUtoo' Carikli | h2. Schematics |
176 | 1 | Paul Kocialkowski | |
177 | 54 | Denis 'GNUtoo' Carikli | h3. FCC |
178 | |||
179 | 1 | Paul Kocialkowski | *FCC ID*: A3LGTI9300A (Grantee code: A3L, Product code: GTI9300A) |
180 | 55 | Denis 'GNUtoo' Carikli | *URL*: https://www.fcc.gov/oet/ea/fccid/ Enter grantee, and product code and click on search. |
181 | *Schematics*: Block diagram operational description and schematics not made public through the FCC. |
||
182 | 56 | Denis 'GNUtoo' Carikli | |
183 | h3. Ifixit |
||
184 | |||
185 | *Device URL*: https://www.ifixit.com/Device/Samsung_Galaxy_S_III#Section_Documents |
||
186 | *Repair manuals and very partial schematics*: https://www.ifixit.com/Device/Samsung_Galaxy_S_III#Section_Documents |