Project

General

Profile

GalaxySIIIGTI9300 » History » Version 73

Denis 'GNUtoo' Carikli, 02/29/2020 03:31 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
h4. Partitions
114
115 63 Denis 'GNUtoo' Carikli
|_. PIT |_. Linux name |_. block device |_. mount point |_. partition type |_. Description |_. size @ 16G |
116 64 Denis 'GNUtoo' Carikli
| BOOTLOADER |/2\3. mmcblk0boot0, not visible on Replicant 6.0 | Unknown, raw data? | The bootloader? |/2. 4M |
117 57 Denis 'GNUtoo' Carikli
| TZSW | Unknown, raw data? | The signed TrustZone OS |
118 64 Denis 'GNUtoo' Carikli
| Not visible in the PIT |\3. mmcblk0boot1, not visible on Replicant 6.0 | empty | Unused | 4M |
119 65 Denis 'GNUtoo' Carikli
| PIT |\3. Not visible on Replicant 6.0, location unknown |\2. The PIT partition table |
120 57 Denis 'GNUtoo' Carikli
| MD5HDR |\3. Not visible on Replicant 6.0, location unknown | Unknown, raw data? | Used during boot to validate partitions? |
121 70 Denis 'GNUtoo' Carikli
|\2. BOTA0 | mmcblk0p1 |/2. None |/2. empty |/2. ? |/2. 4"MiB":https://en.wikipedia.org/wiki/Mebibyte |
122 52 Denis 'GNUtoo' Carikli
|\2. BOTA1 | mmcblk0p2 |
123 63 Denis 'GNUtoo' Carikli
|\2. EFS | mmcblk0p3 | /efs | ext4  | modem data partition | 20M |
124 69 Denis 'GNUtoo' Carikli
|\2. PARAM | mmcblk0p4 | None | tar file, can be unpacked with gnu tar | * Bootloader settings[1]
125 1 Paul Kocialkowski
* Boot modes[1]
126 68 Jens Korte
* Splash screen[1]
127
* several JPGs regarding download mode, loading empty battery, hardware/watchdog reset and other | 8M |
128 63 Denis 'GNUtoo' Carikli
|\2. BOOT | mmcblk0p5 | None | bootimage (mkbootimg) | boot.img partition | 8M |
129
|\2. RECOVERY | mmcblk0p6 | None | bootimage (mkbootimg) | recovery partition | 8M |
130
|\2. RADIO | mmcblk0p7 | None | Unknown, raw data? | Modem OS partition | 32M |
131
|\2. CACHE | mmcblk0p8 | /cache | f2fs | cache partition | 1G |
132
|\2. SYSTEM | mmcblk0p9 | /system | ext4 | system partition | 1.5G |
133 62 Denis 'GNUtoo' Carikli
|\2. HIDDEN | mmcblk0p10 | /preload | ext4 | Samsung promotional medias:
134 58 Denis 'GNUtoo' Carikli
* Over_the_horizon.mp3
135 63 Denis 'GNUtoo' Carikli
* Wonders_of_Nature.mp4 | 560M |
136
|\2. OTA | mmcblk0p11 | None  | empty | probably only used during OTA updates? | 8M |
137
|\2. USERDATA | mmcblk0p12 | /data | ext4 | data partition | 11.5G |
138 42 Denis 'GNUtoo' Carikli
139
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."
140 53 Denis 'GNUtoo' Carikli
141 54 Denis 'GNUtoo' Carikli
h2. Schematics
142 1 Paul Kocialkowski
143 54 Denis 'GNUtoo' Carikli
h3. FCC
144
145 1 Paul Kocialkowski
*FCC ID*: A3LGTI9300A (Grantee code: A3L, Product code: GTI9300A)
146 55 Denis 'GNUtoo' Carikli
*URL*: https://www.fcc.gov/oet/ea/fccid/ Enter grantee, and product code and click on search.
147
*Schematics*: Block diagram operational description and schematics not made public through the FCC.
148 56 Denis 'GNUtoo' Carikli
149
h3. Ifixit
150
151
*Device URL*: https://www.ifixit.com/Device/Samsung_Galaxy_S_III#Section_Documents
152
*Repair manuals and very partial schematics*:  https://www.ifixit.com/Device/Samsung_Galaxy_S_III#Section_Documents