Project

General

Profile

GalaxySIIIGTI9300 » History » Version 97

Denis 'GNUtoo' Carikli, 02/03/2022 02:47 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 86 Denis 'GNUtoo' Carikli
| *Replicant codename* | @i9300@ |
9
| *Status* | Replicant 6.0: Maintained
10 90 dl lud
Replicant 10: work in progress |
11 87 Denis 'GNUtoo' Carikli
| *Variants* | GSM: GT-I9300 |
12 21 Wolfgang Wiedmeyer
| *Latest images* | [[ReplicantImages#Replicant-60-0003-images|Replicant 6.0 0003]] |
13 1 Paul Kocialkowski
14
h2. Replicant status
15
16
Replicant status for the Galaxy S III (GT-I9300): [[ReplicantStatus#Replicant-60|ReplicantStatus Replicant 6.0]]
17 86 Denis 'GNUtoo' Carikli
18
Replicant 9: Work in progress
19 1 Paul Kocialkowski
20 10 Paul Kocialkowski
h2. Replicant installation
21 1 Paul Kocialkowski
22 67 Denis 'GNUtoo' Carikli
To install Replicant on the Galaxy S III (GT-I9300), see the [[RecoveryInstallationWithHeimdall]] and [[MinorVersionUpgrade]] wiki pages.
23 1 Paul Kocialkowski
24 10 Paul Kocialkowski
h2. Replicant usage
25 1 Paul Kocialkowski
26 67 Denis 'GNUtoo' Carikli
* Galaxy S III (GT-I9300) compass calibration: [[GalaxyS3I9300CompassCalibration]]
27 1 Paul Kocialkowski
28 10 Paul Kocialkowski
h2. Replicant build
29 1 Paul Kocialkowski
30 67 Denis 'GNUtoo' Carikli
Replicant build for the Galaxy S III (GT-I9300): [[GalaxyS3I9300Build]]
31 6 Paul Kocialkowski
32 10 Paul Kocialkowski
h2. Replicant development
33 1 Paul Kocialkowski
34 67 Denis 'GNUtoo' Carikli
* Galaxy S III (GT-I9300) UART: [[GalaxyS3I9300UART]]
35 6 Paul Kocialkowski
36 16 Denis 'GNUtoo' Carikli
h2. Freedom and privacy/security evaluation
37 10 Paul Kocialkowski
38 15 Denis 'GNUtoo' Carikli
See [[GalaxyS3I9300PrivacySecurityEvaluation]] for more details.
39 10 Paul Kocialkowski
40
h2. Research
41
42 1 Paul Kocialkowski
h3. Hardware table
43
44 10 Paul Kocialkowski
|_. Component |_. Name |_. Source |_. Status |
45
| SoC | Samsung Exynos 4412 | "iFixit":http://www.ifixit.com/Teardown/Samsung+Galaxy+S+III+Teardown/9391/2 | Linux kernel support |
46 24 Denis 'GNUtoo' Carikli
| GPU | Mali 400 | "wikipedia":https://secure.wikimedia.org/wikipedia/en/wiki/Exynos | Linux kernel and secret userspace |
47 10 Paul Kocialkowski
| Audio Codec | WM8994 | Linux kernel | Linux kernel support (ALSA) |
48
| Modem | XMM6260 | Linux kernel | Free userspace implementation: [[Samsung-RIL]]/[[libsamsung-ipc]] |
49
| Wi-Fi | BCM4334 | Linux kernel | Linux kernel support, proprietary loaded firmware |
50
| Bluetooth | BCM4334 | Linux kernel | Linux kernel support, proprietary loaded firmware |
51
| NFC | PN544 | Linux kernel | Linux kernel support |
52 18 Jens Korte
| GPS | BCM47511 | "iFixit":http://www.ifixit.com/Teardown/Samsung+Galaxy+S+III+Teardown/9391/2 | Proprietary userspace, no free implementation: [[BCM4751]] |
53 10 Paul Kocialkowski
| Accelerometer | LSM330DLC | Linux kernel | Linux kernel support, free userspace |
54
| Compass | AKM8975 | Kernel sources | Linux kernel support, free userspace |
55
| Light/proximity sensor | CM36651 | Kernel sources | Linux kernel support, free userspace |
56
| Gyroscope | LSM330DLC | Kernel sources | Linux kernel support, free userspace |
57
| Barometer | LPS331AP | Kernel sources | Linux kernel support, free userspace |
58 11 Paul Kocialkowski
| Camera (back) | S5C73M3 | Linux kernel | Linux kernel support, free userspace |
59
| Camera (front) | S5K6A3 | Linux kernel | Linux kernel support, free userspace, proprietary loaded firmware |
60 22 Denis 'GNUtoo' Carikli
61 97 Denis 'GNUtoo' Carikli
See also [[GT-I9300StorageSpeedTests]] for information about the speed of the eMMC and potential microSDs.
62
63 22 Denis 'GNUtoo' Carikli
h3. Software Configuration
64
65 71 Denis 'GNUtoo' Carikli
h4. PIT
66
67
The PIT of a 16G version of the Galaxy SIII (GT-I9300) can be found in the [[GalaxyS3I9300Pit]] page.
68
69
The PIT is a partition table used at least by the bootloader in the odin mode that Heimdal uses.
70
71
If we look at the BOTA0 partition entry in the PIT we have:
72
<pre>
73
--- Entry #4 ---
74
Binary Type: 0 (AP)
75
Device Type: 2 (MMC)
76
Identifier: 1
77
Attributes: 5 (Read/Write)
78
Update Attributes: 1 (FOTA)
79
Partition Block Size/Offset: 8192
80
Partition Block Count: 8192
81
File Offset (Obsolete): 0
82
File Size (Obsolete): 0
83
Partition Name: BOTA0
84
Flash Filename: -
85
FOTA Filename: 
86
</pre>
87
88 72 Denis 'GNUtoo' Carikli
As for what the fields can mean:
89 71 Denis 'GNUtoo' Carikli
<pre>
90
Binary Type: 0 (AP)
91
</pre>
92
AP probably means application processor which means that the partition is used by the CPU running Android, and not the modem.
93
94
<pre>
95
Partition Block Size/Offset: 8192
96
Partition Block Count: 8192
97
</pre>
98
This is in blocks of 512 bytes.
99
100
<pre>
101
Partition Name: BOTA0
102
</pre>
103 72 Denis 'GNUtoo' Carikli
This is the partition name, which here is the same in the GPT partition table.
104 71 Denis 'GNUtoo' Carikli
105
<pre>
106
Identifier: 1
107
</pre>
108
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.
109
110 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).
111
112 71 Denis 'GNUtoo' Carikli
h4. GPT
113
114
The mmcblk0 block device also has a GPT.
115 25 Denis 'GNUtoo' Carikli
116 74 Denis 'GNUtoo' Carikli
h4. Locating the PIT and MD5HDR
117
118 75 Denis 'GNUtoo' Carikli
See the [[GalaxySIIIGTI9300PartitionsResearch]] page for an attempt to locate the PIT and the MD5HDR partitions.
119 74 Denis 'GNUtoo' Carikli
120 25 Denis 'GNUtoo' Carikli
h4. Partitions
121
122 95 Denis 'GNUtoo' Carikli
|_. PIT       |_. Linux name                  |_. block device      |_. mount point       |_. partition type             |_. Description                            |_. size or size@location for 16G eMMC |
123
| BOOTLOADER  |/2\3. mmcblk0boot0, not visible on Replicant 6.0                           | Unknown, raw data?           | The bootloader                           |/2. 4M                                |
124
| TZSW        |                                                                             Unknown, raw data?           | The signed TrustZone OS                  |
125 1 Paul Kocialkowski
| Not visible
126 95 Denis 'GNUtoo' Carikli
  in the PIT  |\3. mmcblk0boot1, not visible on Replicant 6.0                             | empty                        | Unused                                   | 4M                                   |
127
| PIT         | No partition on Replicant 6.0 | on mmcblk0 
128
                                                (use print-pit to
129
                                                 find the location) | None                |\2. The PIT partition table                                              | 8KiB[2]@17KiB[2]                     | 
130
| MD5HDR      | No partition Replicant 6.0    | on mmcblk0 
131
                                                (use print-pit to
132
                                                 find the location) | None                | Unknown, raw data?           | Used during boot to validate partitions? | 1MiB[3]@25KiB[2]                     |
133
|\2. BOTA0    |                                 mmcblk0p1           |/2. None             |/2. empty                     |/2. ?                                     |/2. 4 MiB[3]                          |
134
|\2. BOTA1    |                                 mmcblk0p2           |
135
|\2. EFS      |                                 mmcblk0p3           | /efs                | ext4                         | modem data partition
136
                                                                                                                           ([[GT-I9300EFSContent|content]])         | 20M                                  |
137
|\2. PARAM    |                                 mmcblk0p4           | None                | tar file, 
138
                                                                                            can be unpacked with gnu tar | * Bootloader settings[1]
139
                                                                                                                           * Boot modes[1]
140
                                                                                                                           * Splash screen[1]
141
                                                                                                                           * several JPGs regarding download mode, loading empty battery, hardware/watchdog reset and other
142 96 Denis 'GNUtoo' Carikli
                                                                                                                             See [[GTI9300PARAM]] for more details  | 8M                                    |
143
|\2. BOOT     |                                 mmcblk0p5           | None                | bootimage (mkbootimg)        | boot.img partition                       | 8M                                    |
144
|\2. RECOVERY |                                 mmcblk0p6           | None                | bootimage (mkbootimg)        | recovery partition                       | 8M                                    |
145
|\2. RADIO    |                                 mmcblk0p7           | None                | Unknown, raw data?           | Modem OS partition                       | 32M                                   |
146
|\2. CACHE    |                                 mmcblk0p8           | /cache              | f2fs                         | cache partition                          | 1G                                    |
147
|\2. SYSTEM   |                                 mmcblk0p9           | /system             | ext4                         | system partition                         | 1.5G                                  |
148 95 Denis 'GNUtoo' Carikli
|\2. HIDDEN   |                                 mmcblk0p10          | /preload            | ext4                         | Samsung promotional medias:
149
                                                                                                                           * Over_the_horizon.mp3
150 96 Denis 'GNUtoo' Carikli
                                                                                                                           * Wonders_of_Nature.mp4                  | 560M                                  |
151
|\2. OTA      |                                 mmcblk0p11          | None                | empty                        | probably only used during OTA updates?   | 8M                                    |
152
|\2. USERDATA |                                 mmcblk0p12          | /data               | ext4                         | data partition                           | 11.5G                                 |
153 1 Paul Kocialkowski
154 81 Denis 'GNUtoo' Carikli
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."
155 1 Paul Kocialkowski
156 82 Denis 'GNUtoo' Carikli
fn2. For the Kib see https://en.wikipedia.org/wiki/Kibibyte
157
158 53 Denis 'GNUtoo' Carikli
fn3. Foi the MiB see https://en.wikipedia.org/wiki/Mebibyte
159 54 Denis 'GNUtoo' Carikli
160 1 Paul Kocialkowski
h2. Schematics
161 54 Denis 'GNUtoo' Carikli
162
h3. FCC
163 1 Paul Kocialkowski
164 55 Denis 'GNUtoo' Carikli
*FCC ID*: A3LGTI9300A (Grantee code: A3L, Product code: GTI9300A)
165
*URL*: https://www.fcc.gov/oet/ea/fccid/ Enter grantee, and product code and click on search.
166 56 Denis 'GNUtoo' Carikli
*Schematics*: Block diagram operational description and schematics not made public through the FCC.
167
168
h3. Ifixit
169
170
*Device URL*: https://www.ifixit.com/Device/Samsung_Galaxy_S_III#Section_Documents
171 1 Paul Kocialkowski
*Repair manuals and very partial schematics*:  https://www.ifixit.com/Device/Samsung_Galaxy_S_III#Section_Documents