i9300T has the same SP6260 naming as i9100g as this shows
(12:53:10 AM) sensiblemn: you're correct
(12:54:16 AM) sensiblemn: also, not sure if this is the correct defconfig, but this kernel from samsung suggests it is xmm6260 also https://github.com/LineageOS/android_kernel_samsung_t1/blob/10ca03795f659f6f1fa995e8c300a08c3a133354/arch/arm/configs/android_t1_omap4430_r03_eng_defconfig#L1097
(12:55:09 AM) hpagseddy[m]: t1, thats correct
(12:55:18 AM) hpagseddy[m]: but the defconfig isnt
(12:55:48 AM) hpagseddy[m]: https://github.com/LineageOS/android_kernel_samsung_t1/blob/10ca03795f659f6f1fa995e8c300a08c3a133354/arch/arm/configs/cyanogenmod_i9100g_defconfig
(12:55:52 AM) hpagseddy[m]: this is for the device
(12:56:01 AM) forkbomb: hpagseddy[m]: ah, the i9100G is different i think
(12:56:06 AM) forkbomb: it's OMAP based
(12:56:10 AM) hpagseddy[m]: other one was for the development board??
(12:56:15 AM) hpagseddy[m]: Yes it is
(12:56:23 AM) hpagseddy[m]: TI OMAP4430, same as Droid 4
(12:56:58 AM) sensiblemn: actually, this looks like the correct defconfig for it, still says xmm6260 https://github.com/LineageOS/android_kernel_samsung_t1/blob/cm-12.1/arch/arm/configs/android_t1_omap4430_r03_eng_defconfig#L1097
(12:57:38 AM) hpagseddy[m]: i think so
(12:57:48 AM) hpagseddy[m]: if it has t1 then it is i9100g
(12:58:17 AM) sensiblemn: dang, i messed that last link up. this is it. final answer. https://github.com/LineageOS/android_kernel_samsung_t1/blob/10ca03795f659f6f1fa995e8c300a08c3a133354/arch/arm/configs/cyanogenmod_i9100g_defconfig#L1107
(12:59:16 AM) hpagseddy[m]: ah yes
(12:59:34 AM) TheJollyRoger left the room (quit: Ping timeout: 240 seconds).
(12:59:50 AM) hpagseddy[m]: the other one is most likely development board or prototype configs
(01:00:57 AM) sensiblemn: forkbomb: did you hear that we seem to have found a free software first stage bootloader for the i9100G and that it doesn't seem to require any signature checks?
(01:01:27 AM) hpagseddy[m]: yes i compiled and ran it on my device with no problem
(01:01:59 AM) hpagseddy[m]: also fixed the old build a bit
(01:02:02 AM) hpagseddy[m]: >So i have an i9100g and compiled this without any errors in case you guys are interested https://github.com/hpagseddy/i9100g_xloader
(01:05:55 AM) forkbomb: no, i didn't. very nice!
(01:06:35 AM) hpagseddy[m]: well i dont know how to use it so just compiled and flashed with odin
(01:06:45 AM) hpagseddy[m]: also one line fix hehe
(01:07:33 AM) hpagseddy[m]: it compiled with no problem on 4.6 gcc
(01:14:47 AM) sensiblemn: hpagseddy: it is my understanding that, since x-loader is EOL, and since Replicant wants to upstream as much code as we can, we would have to upstream what x-loader is doing into u-boot SPL, which i don't know how long it would take to do. the fact that very similar devices are already in upstream u-boot likely will help though, if we decide to pursue it.
(01:16:01 AM) hpagseddy[m]: Since it is open source, it is ok to keep it untill we have the device booted in my opinion
(01:16:17 AM) sensiblemn: yes, for sure.
(01:17:00 AM) hpagseddy[m]: but well last decision is yours since you guys are the replicant devs :)
(01:22:29 AM) sensiblemn: hpagseddy: have you tested LineageOS 13 on the device before? https://forum.xda-developers.com/galaxy-s2/development/rom-lineageos-13-0-t3620246
(01:23:21 AM) hpagseddy[m]: yes it had several issues but performance was good
(01:23:33 AM) hpagseddy[m]: it had audio error which was so annoying
(01:23:41 AM) hpagseddy[m]: 12.1 was best
(01:24:22 AM) sensiblemn: what kind of audio error?
(01:25:51 AM) hpagseddy[m]: audio was some kind of disorted
(01:39:01 AM) sensiblemn: hpagseddy: did you notice any other issues?
(01:39:11 AM) sensiblemn: with 13?
(01:40:13 AM) hpagseddy[m]: Gps doesnt work
(01:40:18 AM) hpagseddy[m]: Night mode doesnt work
(01:16:15 AM) GNUtoo: do we have a git for u-boot or only a tarball?
(01:16:16 AM) hpagseddy[m]: sensiblemn: https://forum.xda-developers.com/galaxy-s2/development/guide-repair-totally-sleep-dead-boot-t1701471
(01:16:20 AM) hpagseddy[m]: i only know this page
(01:17:01 AM) hpagseddy[m]: search u-boot in the page for faster result
(01:17:19 AM) hpagseddy[m]: also this https://blog.the-leviathan.ch/?p=408
(01:18:33 AM) hpagseddy[m]: so i know it uses u-boot but cant find a link either
(01:18:35 AM) GNUtoo: thanks
(01:18:56 AM) hpagseddy[m]: you're welcome
(01:19:56 AM) sensiblemn: GNUtoo: this looks like omap-usb-tool but it was recently updated https://github.com/LukasTomek/omapboot
(01:21:37 AM) hpagseddy[m]: hmm, he forked this repo from https://github.com/kousu/omapboot
(01:22:03 AM) hpagseddy[m]: so he added sd card booting
(01:22:09 AM) hpagseddy[m]: and some fixed
(01:22:13 AM) hpagseddy[m]: fixes*
(01:22:25 AM) GNUtoo: https://git.paulk.fr/omap-usb-boot.git
(01:22:29 AM) GNUtoo: but it seems down right nw
(01:22:32 AM) GNUtoo: *right now
(01:23:33 AM) GNUtoo: xloader from IRC logs: https://github.com/hpagseddy/i9100g_xloader
(01:23:54 AM) GNUtoo: (thanks hpagseddy[m] )
(01:24:22 AM) hpagseddy[m]: you're welcome
(01:24:51 AM) hpagseddy[m]: i just fixed one line and decided to fork it
(01:26:17 AM) GNUtoo: Yes, I'll try to look into that a bit later, I'm just writing down the important infos in the wiki right now
(01:26:23 AM) GNUtoo: *look into the details
(01:26:59 AM) GNUtoo: And if you tested it on the device, then yours is known to work
01:56 <@GNUtoo> Did LineageOS or Cyanogenmod support it at some point?
01:57 < hpagseddy[m]> Cyanogenmod untill 13.0
01:57 < hpagseddy[m]> Omnirom 4.4 and 5.0.2
01:57 <@GNUtoo> ok, that explains why LineageOS has some stuff on it but nothing on the wiki
01:57 < hpagseddy[m]> thats all i remember and tested
[...]
01:58 < hpagseddy[m]> GNUtoo: yeah they just forked it and it just stays there
[...]
01:59 < hpagseddy[m]> but 12.1 is still cyanogen
02:00 < sensiblemn> there was an attempt made at 14.1 but it seems like it was unsuccessful because it wouldn't boot
02:00 < sensiblemn> https://github.com/xdaamg/android_device_samsung_i9100g/tree/cm-14.1
02:00 < hpagseddy[m]> also someone rebased cm11 to lineage 11
h2. Partitions
The PIT of the Galaxy SII (GT-I9100G) can be found in the [[GalaxySIII9100GPit]] page.
|_. PIT |_. Linux name |_. mount point |_. partition type |_. block device |_. Description |
| MLO |\2. Not visible on Linux | | | First stage of bootloader |
|\2. EFS | | | mmcblk0p1 | modem data partition |
|\2. SBL1 | | | mmcblk0p2 | |
|\2. SBL2 | | Empty | mmcblk0p3 | |
|\2. PARAM | | | mmcblk0p4 | |
|\2. KERNEL | None | zImage | mmcblk0p5 | boot partition, See [[IsorecRecoveryIssue]] for more details |
|\2. RECOVERY | None | | mmcblk0p6 | recovery partition, See [[IsorecRecoveryIssue]] for more details |
|\2. CACHE| | | mmcblk0p7 | Android cache partition |
|\2. MODEM| | | mmcblk0p8 | modem firmware partition |
|\2. FACTORYFS| | | mmcblk0p9 | Android system partition |
|\2. DATAFS| | | mmcblk0p10 | Android application data |
|\2. UMS | | | mmcblk0p11 | user data (music, pictures, etc) |
|\2. HIDDEN | | | mmcblk0p12 | contains some data, and Samsung APK |
This was constructed from the PIT, TODO: check the partitions content
h3. MLO
On a I9100G_CHN_CHN with Android 2.3.6 with the OMAP reported as being in HS mode we have:
--- Entry #0 ---
Binary Type: 0 (AP)
Device Type: 2 (MMC)
Identifier: 1
Attributes: 0 (Read-Only)
Update Attributes: 0
Partition Block Size/Offset: 0
Partition Block Count: 0
File Offset (Obsolete): 0
File Size (Obsolete): 0
Partition Name: X-loader
Flash Filename: MLO
FOTA Filename:
This doesn't give any indication of where is MLO, but it's clearly visible with an hexadecimal editor like vbindiff.
|_. Offset from mmcblk0 |_. size |_. comments |
| 0x20000 (256k) | 256k | MLO + potentially other stuff |
| 0x40000 (512k) | 256k | MLO + potentially less other stuff |
Though SBL1 and SBL2 have location and size reported my the bootloader with heimdall print-pit:
--- Entry #2 ---
Binary Type: 0 (AP)
Device Type: 2 (MMC)
Identifier: 2
Attributes: 0 (Read-Only)
Update Attributes: 0
Partition Block Size/Offset: 49152
Partition Block Count: 4096
File Offset (Obsolete): 0
File Size (Obsolete): 0
Partition Name: SBL1
Flash Filename: Sbl.bin
FOTA Filename:
--- Entry #3 ---
Binary Type: 0 (AP)
Device Type: 2 (MMC)
Identifier: 3
Attributes: 0 (Read-Only)
Update Attributes: 0
Partition Block Size/Offset: 53248
Partition Block Count: 4096
File Offset (Obsolete): 0
File Size (Obsolete): 0
Partition Name: SBL2
Flash Filename:
FOTA Filename:
h2. Recovery
The device is not supported by TWRP, but it was supported by cyanogenmod recoveries:
https://web.archive.org/web/20190328070606/http://download.cyanogenmod.org:80/?device=i9100g
That recovery is a zImage. Note that this recovery may not be FSDG compliant, so the first step would be to make a Replicant recovery for this device/
h2. CyanogenMod support and stock Android with the version that has a signed bootloader
According to the "I9100G CyanogenMod installation instructions":https://web.archive.org/web/20161224202727/https://wiki.cyanogenmod.org/w/Install_CM_for_i9100g , "Users running Android 2.3 on their I9100G MUST first upgrade to stock Android 4.x before installing CyanogenMod, or the device won't boot into the system due to it relying on a newer bootloader. A 4.1 bootloader is recommended."
However this approach has several issues.
The update doesn't work anymore.
It also requires you to put a SIM card in the device, which results in privacy issues.
In addition to that, it requires you to give the device a network connection, knowing that the device is running a proprietary Android distribution.
Once you do that it still fails with "Processing failed".
Right before the failure you can see "Signup for a Samsung account" on the top of the window with "Terms and conditions".
So it probably tries to access some page like https://bada.com/contents/deviceterms/china/208.txt which doesn't exist anymore, and it probably does that to show terms and conditions which were probably unacceptable.
They might also have legally prevented you to work on some part of Replicant if you agreed to them, depending on the country you are located in or you intend to travel to.
This is most probably not an issue with the versions that don't have a signed bootloader as the first stage bootloader could simply be replaced by a free software xloader.
h2. Bootloaders
See [[GTI9100GBootloaderFreedom]] and [[GTI9100GBootloaderInterface]]
h2. Hardware
As far is we get from what we've seen on the motherboard itself, here are our guesses about chips and what they do:
* 6030B1A5 21ZEDL9G2 G1 --- Power IC based on sellers on the web
* TWL6040A2 22AH9SW G2 --- Audio codec made by TI https://www.alldatasheet.com/datasheet-pdf/pdf/862981/TI1/TWL6040A2.html
* I9811 V 1.0B XG626 F2076538 --- Modem IC
* SAMSUNG 210 KMVYLOOOLM-B503 --- EMMC Chip 16GB based on this forum thread https://www.mcrf.ru/forum/showthread.php?t=40277
* K3PE7E700D-XGC1 --- DDR DRAM chip, most likely 1GB
h2. Links
* "Official support for CyanogenMod":https://web.archive.org/web/20161225042527/https://wiki.cyanogenmod.org/w/I9100g_Info
* "Unofficial LineageOS 13 for the I9100G":https://forum.xda-developers.com/galaxy-s2/development/rom-lineageos-13-0-t3620246
** "Source code for it":https://github.com/xdaamg
* Infos on the bootloader: https://forum.xda-developers.com/galaxy-s2/development/guide-repair-totally-sleep-dead-boot-t1701471
* "Infos on xloader and how to make a serial port adapter":https://blog.the-leviathan.ch/?p=408
* https://forum.xda-developers.com/showpost.php?p=65159962&postcount=276