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 |