Project

General

Profile

Actions

GalaxySIIIGTI9300 » History » Revision 73

« Previous | Revision 73/98 (diff) | Next »
Denis 'GNUtoo' Carikli, 02/29/2020 03:31 PM


Galaxy S III (GT-I9300)

Device Galaxy S III (GT-I9300)
Manufacturer Samsung
Release date May 2012
Codename i9300
Status Maintained
Maintainer(s) Paul Kocialkowski
Wolfgang Wiedmeyer
Supported models GSM: GT-I9300
Latest images Replicant 6.0 0003

Replicant status

Replicant status for the Galaxy S III (GT-I9300): ReplicantStatus Replicant 6.0

Replicant installation

To install Replicant on the Galaxy S III (GT-I9300), see the RecoveryInstallationWithHeimdall and MinorVersionUpgrade wiki pages.

Replicant usage

Replicant build

Replicant build for the Galaxy S III (GT-I9300): GalaxyS3I9300Build

Replicant development

Freedom and privacy/security evaluation

See GalaxyS3I9300PrivacySecurityEvaluation for more details.

Research

Hardware table

Component Name Source Status
SoC Samsung Exynos 4412 iFixit Linux kernel support
GPU Mali 400 wikipedia Linux kernel and secret userspace
Audio Codec WM8994 Linux kernel Linux kernel support (ALSA)
Modem XMM6260 Linux kernel Free userspace implementation: Samsung-RIL/libsamsung-ipc
Wi-Fi BCM4334 Linux kernel Linux kernel support, proprietary loaded firmware
Bluetooth BCM4334 Linux kernel Linux kernel support, proprietary loaded firmware
NFC PN544 Linux kernel Linux kernel support
GPS BCM47511 iFixit Proprietary userspace, no free implementation: BCM4751
Accelerometer LSM330DLC Linux kernel Linux kernel support, free userspace
Compass AKM8975 Kernel sources Linux kernel support, free userspace
Light/proximity sensor CM36651 Kernel sources Linux kernel support, free userspace
Gyroscope LSM330DLC Kernel sources Linux kernel support, free userspace
Barometer LPS331AP Kernel sources Linux kernel support, free userspace
Camera (back) S5C73M3 Linux kernel Linux kernel support, free userspace
Camera (front) S5K6A3 Linux kernel Linux kernel support, free userspace, proprietary loaded firmware

Software Configuration

PIT

The PIT of a 16G version of the Galaxy SIII (GT-I9300) can be found in the GalaxyS3I9300Pit page.

The PIT is a partition table used at least by the bootloader in the odin mode that Heimdal uses.

If we look at the BOTA0 partition entry in the PIT we have:

--- Entry #4 ---
Binary Type: 0 (AP)
Device Type: 2 (MMC)
Identifier: 1
Attributes: 5 (Read/Write)
Update Attributes: 1 (FOTA)
Partition Block Size/Offset: 8192
Partition Block Count: 8192
File Offset (Obsolete): 0
File Size (Obsolete): 0
Partition Name: BOTA0
Flash Filename: -
FOTA Filename: 

As for what the fields can mean:

Binary Type: 0 (AP)

AP probably means application processor which means that the partition is used by the CPU running Android, and not the modem.

Partition Block Size/Offset: 8192
Partition Block Count: 8192

This is in blocks of 512 bytes.
Partition Name: BOTA0

This is the partition name, which here is the same in the GPT partition table.
Identifier: 1

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.

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).

GPT

The mmcblk0 block device also has a GPT.

Partitions

PIT Linux name block device mount point partition type Description size @ 16G
BOOTLOADER mmcblk0boot0, not visible on Replicant 6.0 Unknown, raw data? The bootloader? 4M
TZSW Unknown, raw data? The signed TrustZone OS
Not visible in the PIT mmcblk0boot1, not visible on Replicant 6.0 empty Unused 4M
PIT Not visible on Replicant 6.0, location unknown The PIT partition table
MD5HDR Not visible on Replicant 6.0, location unknown Unknown, raw data? Used during boot to validate partitions?
BOTA0 mmcblk0p1 None empty ? 4MiB
BOTA1 mmcblk0p2
EFS mmcblk0p3 /efs ext4 modem data partition 20M
PARAM mmcblk0p4 None tar file, can be unpacked with gnu tar * Bootloader settings1
* Boot modes1
* Splash screen1
* several JPGs regarding download mode, loading empty battery, hardware/watchdog reset and other
8M
BOOT mmcblk0p5 None bootimage (mkbootimg) boot.img partition 8M
RECOVERY mmcblk0p6 None bootimage (mkbootimg) recovery partition 8M
RADIO mmcblk0p7 None Unknown, raw data? Modem OS partition 32M
CACHE mmcblk0p8 /cache f2fs cache partition 1G
SYSTEM mmcblk0p9 /system ext4 system partition 1.5G
HIDDEN mmcblk0p10 /preload ext4 Samsung promotional medias:
* Over_the_horizon.mp3
* Wonders_of_Nature.mp4
560M
OTA mmcblk0p11 None empty probably only used during OTA updates? 8M
USERDATA mmcblk0p12 /data ext4 data partition 11.5G

1 According to a forum thread on XDA developers "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."

Schematics

FCC

FCC ID: A3LGTI9300A (Grantee code: A3L, Product code: GTI9300A)
URL: https://www.fcc.gov/oet/ea/fccid/ Enter grantee, and product code and click on search.
Schematics: Block diagram operational description and schematics not made public through the FCC.

Ifixit

Device URL: https://www.ifixit.com/Device/Samsung_Galaxy_S_III#Section_Documents
Repair manuals and very partial schematics: https://www.ifixit.com/Device/Samsung_Galaxy_S_III#Section_Documents

Updated by Denis 'GNUtoo' Carikli about 4 years ago · 73 revisions

Also available in: PDF HTML TXT