Introduction
The Samsung Galaxy S Plus (SGS+) aka I9001, while virtually identical to the older Galaxy S/I9000 on the outside is a completely different phone on the inside.
For the I9001, Samsung replaced its homemade Hummingbird CPU and the PowerVR SGX 540 GPU in the I9000 with a Snapdragon platform chipset by Qualcomm (MSM8255T). It contains a 1.4 GHz Scorpion CPU and Adreno 205 GPU all on one chip, giving the I9001 more processing power with a faster CPU but a slower GPU. The included battery has also been expanded from 1500 to 1650mAh, giving the I9001 somewhat longer battery life.
Due to the completely different interior of the Galaxy S Plus, firmware, tweaks, themes etc. developed for the Galaxy S cannot be used with the S Plus and have to be ported first.
Buttons
Your phone has four physical buttons:
- Power button
- Volume Up button
- Volume Down button
- Home button
and two virtual buttons:
- Back button
- Menu button
Booting
By holding down specific combinations of buttons when booting the phone you can boot into special modes. This is necessary for flashing, installing ROMs etc.
Download Mode
Download mode is used to flash a new firmware using Odin. (See
Flashing)
To enter download mode, turn off the phone and then hold down Volume Down + Home + Power.
If done properly within 1-2 seconds you should see a screen with the green Android robot and the writing "Downloading... Do not turn off target!"
Pressing Power for at least 8 seconds will reboot the phone.
If you can't enter the download mode your phone might be
Soft-Bricked.
Ramdump Mode
There is another mode called Ramdump Mode which is accessed by holding down Volume Up + Home + Power. There are no known uses for this mode.
If you were trying to get into Download Mode and got into Ramdump Mode instead, you were pressing Vol+ instead of Vol-.
Recovery Mode
Recovery mode is used to install system updates in form of update.zip files (such as the one for rooting your phone), performing a factory reset and wiping the cache. Once you replace the stock recovery with a more advanced recovery, you will also be able to install custom ROMs, make backups and much more.
"Android out of the box" icon indicating successfully booted recovery mode
To enter recovery mode, turn off the phone, connect the USB cable, and then hold down Volume Up + Power.
If done properly, the phone will show the SAMSUNG and Galaxy S Plus screens and then end up at the "Android out of the box screen". Now press Menu to enter recovery mode.
The options for actually performing recovery when something is wrong with your phone are very limited with the stock recovery that comes preinstalled on your phone. However, you have the option to replace it with a much better, fully-featured recovery called
"ClockworkMod Recovery" (CWM).
Getting into recovery mode can be a bit fiddly and you might need several tries. Connecting the USB cable makes it a lot easier. CWM recovery does not have this problem and boots reliably. If you are still having problems getting into recovery mode, download
Easy Reboot Recovery.zip, unpack and run RebootRecovery.bat while your phone is connected with the USB cable. The phone will reboot into recovery mode.
Navigation in recovery mode is done using the Volume Up and Volume Down buttons to scroll up and down in lists and the Home button for choosing an item. Sometimes a simple push of the Home button is interpreted as two pushes so be careful.
Recovery mode is a separate partition on your device (
#13) that holds its own minimal Android system with a kernel and a small set of tools.
Boot-loop
A boot-loop is when your phone starts booting but keeps rebooting during the boot process, forever stuck in a loop. A boot-loop can occur after flashing a new ROM or when tinkering with mods and themeing.
Soft-Bricked
If you are not able to enter the
Download Mode by pressing
Volume Down + Home + Power, your phone is soft-bricked. In this case you can still get into Download Mode using a so-called "jig", which is simply a micro-usb plug with a resistor that makes the phone boot into Download Mode when it's plugged in. You could build the jig on your own
using this guide or buy a preassembled one on eBay or Amazon Marketplace. Jigs for the Galaxy S, Galaxy S Plus and the Galaxy S II are all identical.
Un-Brick the device
Apparently there is one safe and working way to un-brick the GT-I9001. This procedure has been tested on a soft-bricked device with a stock unbranded ROM.
- Download the WORKED2.rar package (mirror 1, mirror 2);
- Download Odin Multi Downloader version 4.43;
- After expanding the WORKED2.rar archive, press the OPS button and select the AriesVE.ops file from the uncompressed archive;
- Mark the One Package option, press the One Package button on the bottom of the window and select the recovery-clockwork-6.0.1.0-ariesve.tar.md5 file;
- Put your device in Download Mode by pressing Volume Down + Home + Power and plug it to your PC;
- Make sure to have installed the correct drivers and the phone should be recognised by Odin (the top left rectangle becomes yellow) and press the Start button.
This process could take from 8 to 30 minutes to finish, with an average time of 15 minutes. After that you should have your device back with the same settings, applications and files you had before the brick. Moreover you should have installed a working version of the ClockworkMod Recovery.
Rooting
Rooting allows apps to act as administrator of your phone (called "root") and perform modifications on anything. This allows you to use backup apps that can backup all apps including their data on your phone, firewall apps that control internet access for other apps, adblockers which block ads on webpages and inside apps and much much more. You control which apps you want to grant the root privilege to with an app called "Superuser". Please inform yourself on responsible use of root privileges and do not grant unknown or suspicious apps root rights.
All Custom ROMs, CyanogenMod-based ROMs etc. come pre-rooted. The rooting procedure is only necessary if you are using a stock Samsung ROM.
Procedure
Easy rooting and unrooting guide by KeksKlip:
- Put Root-i9001-Signed.zip into internal sdcard
- Reboot into recovery mode by turning on the phone while pressing Volume Up and Power Button
- As soon as the "Android out of the Box" appears, press the Menu button
- Use Volume buttons to choose "apply update from sdcard" in the recovery menu.
- Press Home button to submit.
- Use Volume buttons to choose Root-i9001-Signed.zip on sdcard
- Press Home button to start update.
- Choose "reboot system now" and press Home button to reboot your phone.
After rooting your phone, you might want to go to the Market and update the Superuser app to the latest version. To update the su binary to the latest version, open up Superuser and select Menu -> Preferences -> Su binary.
Useful root apps
Some useful root apps you might want to install:
-
Titanium Backup allows you to backup all your apps and their settings and data and allows you to freeze or completely remove unwanted system apps.
-
LBE Privacy Guard allows you to block apps from gaining permissions to read your SMS, contacts, IMEI number, make calls etc.
-
DroidWall, allows you to block user and system apps from getting Internet access via either WiFi, 3G or both. Essentially a GUI for configuring iptables. Open source!
-
AdAway, ad-blocker that automatically downloads several lists, merges them and adds them to your hosts file. Allows for user black and white lists. Open source! (requires
BusyBox)
Technical details
The Root-i9001-Signed.zip does the following:
- It deletes the stock "su" program and replaces it with a modified one that allows full root access to any UID without a password. The permissions for su are set as setuid and setgid root.
- It installs Superuser.apk
Flashing
Flashing allows you to change your ROM or parts of it by overwriting it. This way you can upgrade to a newer version of Android or try a custom ROM that offers better performance or a different look.
It is absolutely essential that you perform a full backup of all your apps, data and settings before attempting a flashing procedure.
Additionally, it is recommended to make backups of your /efs and /persist partitions which among other things contain your IMEI. In rare cases you might destroy these during flashing and you will have no way of getting them back. Your carrier will most likely not allow you to connect to it without a valid IMEI. A backup can be performed using adb like this:
adb shell su -c "dd if=/dev/block/mmcblk0p27 of=/sdcard/efs.ext4 bs=4096"
adb shell su -c "dd if=/dev/block/mmcblk0p12 of=/sdcard/persist.ext4 bs=4096"
Flashing your phone voids your warranty. In the event that you need to have your phone repaired under warranty, you will have to flash it using the firmware it initially shipped with. If this is your
first time flashing, it is therefore advisable to write down the original PDA, CSC and PHONE IDs that your phone shipped with. "Dial" the number *#1234# and write down the three ID strings. These exact three ROM parts can then be restored by downloading the appropriate stock firmware from
sammobile.com.
Depending on the ROM it will either leave all your apps and data intact or delete them. Regardless you should always perform a factory reset after flashing (to be more thorough, also perform a reset directly before flashing). Not doing a reset will very likely result in lots of tiny problems like applications force-quitting, Market misbehaving, apps randomly disappearing and re-appearing, apps not being able to be installed etc.
Flashing stock ROMs will also remove your root access and your CWM recovery, you will need to re-install them. Most Custom ROMs have root access 'built in', and you don't need to root it again.
Flashing in Windows
On Windows, flashing is performed using the freely available ODIN Multi-Downloader tool.
Version 4.43 should be used.
- Make sure you have the appropriate USB drivers by installing the latest version of Samsung Kies If Kies recognizes your phone, the USB drivers are working. Close Kies.
- Download and install ODIN Multidownloader 4.43
- Run Odin as Administrator (right-click on icon -> "run as Administrator")
- Power off your phone and boot it into download mode by simultaneously pressing Volume Down + Home + Power
- Connect the phone to your PC via USB. Odin will now recognize your phone and a small box under COM Port Mapping should turn yellow and the text log should show "Detected!!!"
- In the "Select OPS" section provide the following file: AriesVE.ops (AriesVE.ops)
- Unzip/unrar the ROM you are flashing. If it's passworded, the password usually is samfirmware.com
- If it's a single .tar.md5 file, check the option "One Package" in Odin and then load the .tar.md5 file using the One Package button at the very bottom. Odin will load it and check the MD5 checksum.
- If your ROM consists of several .smd files, load the MODEM file with the PHONE button, the PDA file with the PDA button and the CSC file under with the CSC button. Load the Boot_loader.tar with the BOOT button.
- Boot_loader.tar -> BOOT
- MODEM.smd -> PHONE
- PDA.smd -> PDA
- CSC.smd -> CSC
- Start flashing by hitting the Start button. Make absolutely sure the flash procedure is not interrupted. If it is taking longer than you expected or seems stuck, do not panic and do not interrupt it.
- Flashing should take ca. 5-10 minutes for a full ROM. The phone will reboot. Wait and make sure it has booted successfully, then close Odin and disconnect the USB cable.
A lot of Odin-related problems during flashing seem to occur because of USB port problems. If you are having problems, try a different USB port and ideally try it on another PC as well. Other things to try are to flash with or without external SD card inserted and with or without SIM card inserted.
The AriesVE.ops is a textfile containing the partition order for the I9001.
Flashing in Linux/Mac
ROM parts
ROMs are split into following parts:
- BOOT - The bootloader that initializes the phone and loads Android. This part is the most critical, if a faulty bootloader is written to your phone, it will be bricked.
- PDA - The Android operating system including the Linux kernel, libraries, frameworks and system apps.
- MODEM/PHONE - This part holds a firmware driver for one of the most important hardware part of your phone, the GSM radio transmitter.
- CSC - Carrier Customization, contains regional settings for by your carrier like keyboard localisations or internet APN settings. In rare cases flashing a ROM from a different region like Asia will not have the settings you need and you will have to manually enter your APN configuration.
Each part is provided as a .smd file, which is a
custom tar-like archive used by Samsung. Each part can also be (re-)flashed individually. Alternatively so-called "one package" ROMs are provided as a single .tar.md5 file containing the .smds, which is a regular tar archive appended with its md5 hash.
MODEM/PHONE is independent of the OS contained in the PDA, making it possible to mix-and-match MODEM and PDA versions from different ROMs, sometimes jokingly referred to as "FrankenROM". This can be useful for example if a specific MODEM version has drivers that conserve the battery better.
Here are some MODEMs/Basebands that can be flashed with ODIN+Ariesve.ops, independently of your ROM.
Put the .SMD/.TAR in the PHONE section!
After that, boot into recovery, wipe cache and wipe dalvik cache.
Partitions
WARNING: Do not touch any partition below number 8!
Partitions below 8 contain absolutely vital stuff like the primary boot loader responsible for low-level hardware initialization. Messing with them is what leads to fully bricked phones because you will not be able to get into download mode anymore!
| Partition | Name | Filesystem Type |
| /dev/block/mmcblk0p8 | boot | emmc |
| /dev/block/mmcblk0p12 | persist | |
| /dev/block/mmcblk0p13 | recovery | emmc |
| /dev/block/mmcblk0p14 | param | |
| /dev/block/mmcblk0p15 | /system | ext4 |
| /dev/block/mmcblk0p16 | /cache | ext4 |
| /dev/block/mmcblk0p17 | /data | ext4 |
| /dev/block/mmcblk0p18 | /preload | ext4 |
| /dev/block/mmcblk0p27 | /efs | ext4 |
| /dev/block/mmcblk0p28 | /sdcard | vfat |
Also be very careful about /efs partition. Corrupting/deleting it will make you lose your IMEI number and some carriers will not allow you to connect to them anymore.
Param partition is used as temporary buffer to forward commands (like boot into recovery) from running OS to the bootloader. (A faulty param entry is also the cause for the bootloop into recovery problem experienced on some devices,
here is a detailed analysis.)
For developers only:
We know from the I9001 AriesVE.ops, which is essentially a list of partitions, that the low-level firmware partitions below partition number 8 should be:
| Partition Name | Meaning |
| DBL | Device Boot Loader (loads OSBL) |
| OSBL | Operating System Boot Loader (loads AMSS) |
| AMSS | Advanced Mobile Subscriber Software, the Qualcomm GSM firmware (baseband) |
| EMMCBOOT | Embedded MMC(eMMC) boot (loads EMMCBOOT) |
| ADSP | Apps (application processor)'s DSP, Qualcomm's DSP firmware, for encoding/decoding video and stuffs |
The exact partition numbers are unclear but the order should be as given in the AriesVE.ops file.
ROMs
Stock ROMs
Stock ROMs are official ROMs provided by Samsung. Samsung provides I9001 ROMs for three different parts of the world: Europe, Asia and Middle East. All Stock ROMs are Android 2.3 (Gingerbread) based. Samsung has officially confirmed there will not be an Android 4 (Ice Cream Sandwich) ROM. The last and final stock ROM release was the 2.3.6 "Value Pack", which added face unlock, Touchwiz 4 and a couple of other features.
For Stock Firmware you can also consult:
For a tutorial on how to flash back stock-ROM, see [
[1]] by
mrjraider
Key to reading the IDs:
| I9001 | XE | K | E | 8 |
| Model | Provider/Country | Year | Month | Revision Number |
Months: January = A, February = B, ..., December = L
Years: K = 2011, L = 2012
Gingerbread 2.3.3
| Baseband ID | Date | Region | Provider | Download Link | Languages |
| I9001XEKE8 | 05.2011 | Europe | | [2] | en,et,lt,lv,ru,uk,az,bg,de,fr,ka,kk,mk,ro,sr |
| I9001XXKF8 | 06.2011 | Europe | | [3] | de,en,es,fr,hu,it,nl,pt,cs,da,el,fi,no,pl,sl,sv,tr |
| I9001XXKG3 | 07.2011 | Europe | | [4] | de,en,es,fr,hu,it,nl,pt,cs,da,el,fi,no,pl,sl,sv,tr |
Gingerbread 2.3.4
| Baseband ID | Date | Region | Provider | Forum Thread | Languages |
| I9001BVKP8 | 08.2011 | Europe | Orange Switzerland | [5] | de,en,es,fr,hu,it,nl,pl,pt,ro,sl,tr |
| I9001BVKPA | 09.2011 | Europe | Orange Switzerland | [6] | de,en,es,fr,hu,it,nl,pl,pt,ro,sl,tr |
| I9001XXKP4 | | Europe | | [7] | de,en,es,fr,hu,it,nl,pt,cs,da,el,fi,no,pl,sl,sv,tr |
Gingerbread 2.3.5
| Baseband ID | Date | Region | Provider | Forum Thread | Languages |
| I9001BUKP2 | 10.10.2011 | Europe | Vodafone | [8] | de,el,en,es,fr,hr,hu,it,nl,pt,sl,sv,tr |
| I9001DXKJ2 | 22.10.2011 | Asia | | [9] | en, id, ms, th, vi, zh, ta |
| I9001BOKP4 | 26.10.2011 | Europe | T-Mobile Germany | [10] | cs,de,el,en,es,fr,hr,hu,it,mk,nl,pl,pt,sk,sl,sr,sv,tr,da,fi,no |
| I9001XXKPG | 26.09.2011 | Europe | | [11] | de,en,es,fr,hu,it,nl,pt,cs,da,el,fi,no,pl,sl,sv,tr |
| I9001XXKPJ | 07.10.2011 | Europe | | [12] | de,en,es,fr,hu,it,nl,pt,cs,da,el,fi,no,pl,sl,sv,tr |
Gingerbread 2.3.6
| ID | Baseband | Date | Region | Provider | Forum Thread | Languages | Notes |
| I9001ZSKP3 | | 21.10.2011 | Asia | | [13] | en,zh | |
| I9001ZSKP5 | | 28.10.2011 | Asia | | [14] | en,zh | |
| I9001ZSKP6 | | 07.11.2011 | Asia | | [15] | en,zh | |
| I9001ZSKP7 | | 18.12.2011 | Asia | | [16] | en,zh | |
| I9001XXKPS | XXKPK | 04.11.2011 | Europe | | [17] | de,en,es,fr,hu,it,nl,pt,cs,da,el,fi,no,pl,sl,sv,tr | |
| I9001XXKPU | | 01.12.2011 | Europe | | [18] | de,en,es,fr,hu,it,nl,pt,cs,da,el,fi,no,pl,sl,sv,tr | |
| I9001XXKQ1 | | 06.01.2012 | Europe | | [19] | | |
| I9001XXKQ6 | XXKPK | 21.02.2012 | Europe | | [20] | | |
| I9001XXKQ7 | XXKPK | 23.02.2012 | Europe | | [21] | | |
| I9001XXKQB | XXKPL | 20.03.2012 | Europe | | [22] | | Value Pack |
| I9001XXKQD | DDKP9 | 17.04.2012 | Asia | | [23] | multilanguage | Value Pack, Changlist: 1077879 |
| I9001XXKQE | XXKPL | 24.04.2012 | Europe | | [24] | cs,de,el,en,es,fr,hu,it,nl,pl,sl,tr | Value Pack, Changelist: 1102220 |
| I9001DXLD3 | | 25.04.2012 | Asia | | [25] | | Value Pack |
| I9001XXKQI | XXKPM | 24.07.2012 | Europe | | [26] | | Value Pack, Changelist: 1159246 |
Custom ROMs (Stock-based)
All these customized ROMs are based on stock Samsung Gingerbread ROMs. They usually are tweaked and optimized and offer a smoother, faster experience than the stock ROMs. Most remove Samsung bloatware and many are themed with a different look than stock.
ROMs using the Aroma Installer allow you to select which features you want during installation.
Please see the respective forum threads for a full list of features each ROM offers. Most of these ROMs are very similar to each other.
| Name | Developer | Latest Relase | Based on | Forum Thread | Special Features and notes |
| GIGABREAD+ | texten | Final | XXKQB | [27] |
Aroma Installer, Toggle2G
|
| Crybernation | crybert | 1.0.1 | XXKQB | [28] | Aroma installer, 2 Themes |
| broodROM | broodplank1337 | RC5 Rev2 | XXKQB | [29] | |
| broodROM Business Edition | broodplank1337 | v1.2 | XXKQI | [30] | Capable for business environments |
| NitroX Galaxy White Edition | AlessandroXCV | 7.5 | XXKQE | [31] | Galaxy S3 look-a-like |
| NitroX Galaxy Black Edition | AlessandroXCV | 7.5 | XXKQB | [32] | Jelly Bean look-a-like |
| MoonROM | jackq, mr_omega | v4.2 | XXKQB | [33] | Aroma installer, 2 Themes, PDroid, Toggle2G |
| KubsonRom | kubson1999 | RC1 | XXKQB | [34] | |
| Arky's ROM | Arky21 | 2.1 | XXKQB | [35] | |
| InDrOiD EVOLUTON | kkrraazzyy | RC1 | XXKQB | [36] | Green evolution theme |
| BlazR | Costinutz32 | RC8.2 | XXKQE | [37] | |
| Simplistic Plus | Dutch.ly | 3.0 Beta 2 | XXKQE | [38] (Thread Not Found) | minimalistic and simple |
| LionROM | FlorisNL | v1.1 | XXKQ7 | [39] | |
| Xperiated ROM | manoo2 | - | XXKQ7 | [40] | Xperica arc launcher |
| UCM | una calaita mas | 2.1 | XXKQ1 | [41] | |
| Jupiter ROM | Ikiseev, TheFrankenstain | Q1 | XXKQ1 | [42] | Aroma installer |
| Lightning ROM | V07A4ER | - | XXKQ1 | [43] | Lightning launcher |
| Cranium | sakinidia123 | RC9 | XXKQ1 | [44] | no further development |
| Android Revolution | kkrraazzyy | RC3 | XXKPS | [45] | |
| CyMod ROM | Cynob, Rhonin86 | 0.5-5 | XXKPU | [46] | comes with a modding script |
| Crybert's ROM | crybert | v1.3.1 | XXKPU | [47] | no further development |
| Shadow0 | kingsonwongs | v2.0.4a | XXKP4 | [48] | 3 themes |
| UltimatePower | CodeXpert | R1 | JPKP3 | [49] | Arabic support |
AOSP
The Android Open Source Project (AOSP) is pure Android, as released by Google, without any modifications by third parties like Samsung. It is basic and minimal. For ROMs based on AOSP that offer more functionality and apps, see the CyanogenMod and MIUI sections.
Ice Cream Sandwich AOSP (IMM76L) 4.0.4 - by broodplank1337
Gingerbread AOSP 2.3.7 - by mazen912
CyanogenMod
CyanogenMod is a replacement firmware that is fast, highly customizable and free of Samsung stuff. Unlike the custom ROMs based on Samsung firmware above, CyanogenMod is based on the Android Open Source Project and offers you a completely different experience since it is different from the ground up and uses its own hardware drivers.
Development Status
CyanogenMod 7 (Gingerbread)
In the latest CM7 build all phone components work except for FM Radio and WiFi tethering.
The latest CM7 build is:
- CM 7.2 fixed2.1 by mazen912 (June 6th, 2012).
- Install the zip using arco's CWM recovery by doing wipe data/factory reset and then install zip from sdcard.
- After that install the gapps.zip from recovery to have the Google apps.
Notes:
- The default keyboard is tiny and very hard to use. Install an alternative keyboard such as this from the Play store and activate it in System Settings -> Language & Keyboard.
- If you are having problems with 3G internet, try adding net.dns1=8.8.8.8 and net.dns2=8.8.4.4 to your build.prop using BuildProp Editor.
CM7-based Custom ROMs
CyanogenMod 9 (ICS)
CyanogenMod 9 (based on Android 4 / Ice Cream Sandwich) is being ported to i9001 by
arco68 (
forum thread).
Signatures created by tomsteel1
[50]
All major components of the i9001 work except for FM radio (however, experimental solutions are available for those).
Installation:
- Back up your apps with TitaniumBackup. Backup your SMS with SMS Backup & Restore and your call logs with Call log Backup & Restore. Export your contacts to a .vcf file.
- First a special version of CWM recovery is needed, FeaMod does not work because it does not set partition sizes for CyanogenMod 9 correctly. The new recovery can restore FeaMod Recovery backups in case you want to return to one later. There are many ways how to install the recovery, choose one:
- CyanogenMod9 comes as a zip that is installed inside recovery. Download cm-9-20121023-EXPERIMENTAL-ariesve-beta3.zip and put it on your sdcard.
- Reboot into CWM Recovery
- Perform a backup!
- Wipe data/factory reset
- Wipe Cache partition
- Advanced > Wipe dalvik cache
- Install zip from sdcard (choose cm-9-20121023-EXPERIMENTAL-ariesve-beta3.zip)
- Flash the gapps package inside recovery in order to have Google Play etc. (cannot be shipped together with CyanogenMod due to legal reasons)
- Restore your backed-up apps, sms, call logs and contacts. DO NOT restore old Gingerbread system apps and be careful when restoring app data.
Notes:
- To get BLN working in arco68 CM9 build(Now possible !!)
- Flash CM9 ROM
- Flash gapps
- Flash CastagnaIT 7.0 kernel
- Reboot
- Delete the file "lights.ariesve.so" in /ssytem/lib/hw using Root Explorer
- Verify whether the file "lights.msm7*30.so" exists in the same location
- Reboot
- Now customize BLN setting with BLN Control
- Enjoy~
- Under CyanogenMod, your external SD card can be found under /external_sd
- Reboot into recovery from power menu not working? Turn off "touch sounds" option in sound settings.
- FM Radio can be made to work using the Spirit FM app. Download and use the "qdsp5v2 Altern" driver. Unfortunately, with the current version, the phone will crash an freeze when receiving calls while listening to the radio!
- Want to see something fun? CM9 has an easter egg that can be activated in System Settings -> About phone. Click the "Android version 4.0.4" entry several times very fast. The screen will clear and show an Android robot. Click and hold on the robot. It will zoom into the robot and then activate a Nyan-cat like animation of flying Android robots.
- CM9 now includes a theme manager. Themes come as apps and can be found in the Play store and here.
- To change your boot animation, download an animation from a thread like this and then put the bootanimation.zip file containing the animation images into /data/local/bootanimation.zip. That way your boot animation will be preserved throughout ROM upgrades.
- Facebook currently is blocked by ICS from synchronizing contacts. If you'd like to synchronize your Facebook contacts you can use a third-party app or this fix for CM9/AOKP.
Mods
CM9-based Custom ROMS
CyanogenMod 10 (JB)
CyanogenMod 10 is based on Android Jelly Bean (4.1).
CyanogenMod 10 (Android 4.1.1 Jelly Bean) is being ported to i9001 by
Doomsday94(
Thread)
CM10-based Custom ROMS
AOKP
The Android Open Kang Project (AOKP, not to be confused with AOSP!) is a ROM based on CyanogenMod 9 which adds a large amount of extra configurability and customization options to the status bar, notification drawer, power menu, lockscreen and many other areas.
Two i9001 ports are maintained by
oisis and
crybert. They are based on arco68's and ivendor's CM9.
The latest crybert build is
AOKP Milestone 6 build5. (
Forum Thread) Crybert's AOKP supports OTA (Over The Air) updates so you will automatically know when a new version comes out.
AOKP-based Custom ROMS
Paranoid Android
Paranoid Android is a CM9-based ICS ROM that offers to switch your phone to Tablet mode (get the Android user interface you have on tablets) or Hybrid mode.
Hybrid mode allows you to choose for each app whether you would like to use it in regular Phone mode or in Tablet mode and set a custom DPI setting for each app.
MIUI
MIUI is a Chinese ROM based on CyanogenMod but redesigned with a clean, simple iPhone-like interface.
It provides advanced features not available in CyanogenMod like an app permissions manager, a root permissions manager, a network firewall and call screening.
It is completely themable and gives you access to a large online archive of user-contributed themes. Themeable elements include the launcher, lockscreen, boot animation, status bar, icons, clock and the dialer.
It also comes with a large selection of MIUI apps including a music player, gallery, file manager, notes, clock etc.
MIUI (Gingerbread)
MIUI 2.4.13 based on a slightly older CM7 build (and thus has the same bugs as the CM7 port plus weak vibration and Bluetooth bugs).
The latest build is
MIUI GB 2.6.7. Flash the zip inside CM9 recovery after doing a full wipe. If you don't have CM9 recovery, see the CM9 section.
MIUI V4 (ICS)
MIUI v4 is based on the CM9 build by Ivendor. Beta 4
- The latest build Multi-Lang (17) is MIUI V4 2.8.10 RC3. Download the zip and flash it inside CM9 or TWRP recovery after doing a full wipe.
- The latest build French Language is MIUI 2.8.10 RC3 French -- Ariesve --. Download the zip and flash it inside CM9 or TWRP recovery after doing a full wipe.
Other
JoyOS
JoyOS is a Chinese ROM based on CyanogenMod 7. Its main goal is to replicate the look and feel of the iPhone iOS as closely as possible.
The i9001 port is made and maintained by
Sot0. It is based on mazen912's latest CM7 build and thus has the same bugs as the CM7 port (FM radio not working).
LeWa
LeWa ("happy frog") is a Chinese ROM based on CyanogenMod 7 quite similar to MIUI.
The i9001 port is made and maintained by
Costinutz32. It is based on mazen912's latest CM7 build and thus has the same bugs as the CM7 port (radio not working, USB notification always shown).
ShenDu OS
ShenDu OS is a Chinese ROM based on CyanogenMod 7.
The i9001 port is made and maintained by
han-yunzhong. It is based on an older mazen912 CM7 build and thus has headphones and radio not working.
MoKee OS
MoKee OS is a Chinese ROM based on CyanogenMod 7.
The i9001 port is made and maintained by
Costinutz32. It is based on mazen912's latest CM7 build and thus has the same bugs as the CM7 port (radio not working, USB notification always shown).
Kernels
The Android Operating System uses the Linux Kernel as its base. The kernel is like a car's engine, it's the part of the OS that talks directly to the hardware. Changing the kernel can affect the overall speed of the system, your battery life and functionality of hardware components.
To build your own (GB) kernel, you will need a Linux based x64 machine (this can be a VM) that is configured for building kernels. If you're new to kernel building you can use broodplank's
Automated (Unix) Build Environment Setup script. This script does the whole environment setup by itself, the result is a ready to build i9001 kernel source.
Installation
Kernels will usually come as an installable zip file that you install in recovery or as a .img-File. If it's a zip file, check the contents to make sure it was made for installation in recovery: An installable zip will have a META-INF folder inside.
Kernel boot.img files can be flashed using Broodplank's Quickflasher or via dd (for advanced users).
Broodplank's Quickflasher:
- Download: http://broodplank.net/?p=196
- Connect phone via USB, start sgsflasher_x86.exe
- Activate "Flash a new Kernel", check the "Wipe before flashing" option
- Select the kernel boot.img and press "Start Now".
dd:
- adb shell
- su
- dd if=/sdcard/boot.img of=/dev/block/mmcblk0p8
GB Kernels
These should run on Gingerbread Stock ROMs, Custom ROMs, CM7 and MIUI GB.
ICS Kernels
These should run on any Ice Cream Sandwich ROM (CM9, AOKP, MIUIv4, Paranoid etc.)
| Name | Download | Features |
| Arco68 | http://www.broken-arrow.pl/oisis/aokp/kernel-arco-cm9.zip | Stock CM9 |
| Vitaliy | https://github.com/vitaliyy/samsung-kernel-ariesve/downloads | OC/UV. Governors: SmartsAss v2, InteractiveX. Scheduler: SIO, CFQ. VolumeBoost |
| Oisis | http://www.broken-arrow.pl/oisis/aokp/kernel-aokp-01.zip | |
| crybert | http://forum.xda-developers.com/showpost.php?p=27879301 | Governors: SmartAss v2, InteractiveX. Scheduler: SIO, CFQ, Noop, Deadline, VR |
| CastagnaIT | http://forum.xda-developers.com/showthread.php?t=1827428 | OC/UV, Extreme undervolt, Governors, Scheduler, BLN, FastCharge, Tweaks and more... |
Recoveries
The recovery is a separate partition on your device that contains a small bootable Android system which allows you to repair your system, make backups, install system modifications etc.
ClockWorkMod Recovery
ClockworkMod Recovery (CWM) is a recovery that replaces the stock recovery on your phone. It offers a wide range of functionality, including:
- make full backup images (also called NANDroid backup) that contain everything (the ROM, your apps, your data) and can restore your system to the exact state it is at the moment of backup
- restore backup images or parts of them (see here if restore fails because of md5 checksum failure)
- access the phone using adb while it is in recovery mode (not possible using stock recovery!)
- repair file permissions which might be causing errors with your apps
- install a lot of custom tweaks, themes etc. that rely on having CWM
- wipe the Dalvik cache
- wipe the battery stats file
There is a modern, easy to use touch version of CWM which has a graphical interface and a non-touch version that is used by pressing the phone buttons.
The official, unmodified CWM Recovery has been compiled for the I9001 by arco68. CWM Touch recovery has been compiled by czobor.
To install CWM Touch Recovery 6.0.1.4, install this zip file by booting into recovery mode and choosing "install zip from file" (this should work with stock recovery, FeaMod, or any other CWM):
If you would like the non-touch version instead, use:
Warning: Some people have reported a bootloop that always boot into CWM recovery after installing it using this package (happens only on some devices). There's a solution to this problem in
this post.
Old CWM 5.5.0.4 version:
Important:
- mount /sdcard before doing a backup (this guarantees that your apps stored on sdcard in /sdcard/.android_secure are backed up as well, otherwise they will not be backed up)
TeamWin Recovery (TWRP)
The TeamWin Recovery Project (TWRP) is an advanced recovery with a graphical user interface that is navigated using the touchscreen. It offers all the functionality of CWM Recovery and additionally also allows for compressed backups (saves up to 50% space), has a graphical file manager, battery percentage indicator and clock, install queues for installing several zips at once, mounting of SD cards on your PC via USB in recovery and more.
Installation zip:
http://www.mediafire.com/?l78dskdap2xghd7 - copy the zip file to your sdcard, boot into recovery (VolumeUp+Power) and then use "install zip from sdcard"/"apply update form sdcard" to install it.
FeaMod Recovery
manveru0 has created a modified CWM Recovery 5.5.0.4 for the i9001 and calls it
FeaMod Recovery. The project has been abandoned and there will be no further development. FeaMod Recovery is not compatible with CyanogenMod9.
An important difference to regular CWM is that to select an item in the menu, you use the Menu button (and not the Home button which can act erratically sometimes). By default FeaMod Recovery comes with the recovery and a custom kernel called FeaCore, optionally you can install just the recovery.
To install FeaMod Recovery v1.4, install this zip file
prepared by nail16 by booting into recovery mode and choosing "install zip from file" (this should work with stock recovery, FeaMod, or any other CWM):
Known Issues with Feamod
Upon installation of CWM/FeaMod some devices can go into a boot loop after entering recovery mode i.e. whenever the phone boots, it will always boot into recovery. Here is the fix:
- Put this file on sdcard
- Load it via Feamod recovery with "install from sdcard"
- Reboot the phone ("Reboot system now")
RZrecovery
- RZrecovery is an alternative recovery developed by Raidzero. It offers more functionality than CWM such as backup management, compressed backups, boot.img and .apk installation, installation queues and battery charging. Currently the I9001 port is unmaintained and can only back up on the internal SD card.
Stock recovery
If for some reason you ever need to go back to stock recovery, wintel_mac
has prepared a zip you can install in CWM or FeaMod:
AROMA Filemanager
AROMA Filemanager is a graphical file manager that you can use in CWM Recovery. It is started using the "install from sdcard" option and can then be used after calibrating the touchscreen. AROMA Filemanager suffers under the same false colors problems as the AROMA Installer on the I9001 but other than that is fully functional.
Fix crashing apps and other problems with recovery
- Reboot into recovery
- Wipe cache partition
- Advanced -> Wipe Dalvik Cache
- Advanced -> Fix Permissions
If this doesn't work, you will have to uninstall the app with its data and do a clean install. If it is a system app that is crashing, you most likely installed a new ROM without doing a full wipe data/factory reset.
Custom Tweaks and Tools
Tweaks:
Tools
- Galaxy S Plus Configurator BETA 5 by broodplank1337. Works on any rooted and deodexed ROM. Can install and configure different kernels, tweaks, CPU governors, I/O schedulers, keyboards etc.
- I9001 Quickflasher by broodplank1337. Easily flash new kernels, recoveries or ROMs onto your phone.
- GPS Configuration Tool by broodplank1337. Get a fast working gps.conf for every region/country.
- Charged Notification Remover by broodplank1337. Remove the "Battery Charged Notification" from any Samsung based SystemUI.apk.
- APK to Java by broodplank1337. Decompile APK sources to Java/Smali code and/or resources and convert output into Eclipse project.
Managing your phone from your PC
Samsung offers the Kies software for Windows to manage your phone, however it is extremely erratic, slow and buggy.
Much better alternatives exist:
- QtADB for Windows, Mac and Linux - Manages files, SMS and apps. Take screenshots, access shell, recovery and logcat logs. Software that accesses your phone via USB cable or WiFi.
- AirDroid - Manage files, SMS, apps, contacts, ringtones, music, clipboard and tasks. Web interface to your phone via WiFi.
- MyPhoneExplorer - Manage files, SMS, apps, contacts, call lists and calendar. Software that connects to your phone via WiFi, USB cable or Bluetooth. Windows only.
Theming with UOT Kitchen (replacing the battery icon etc.)
The
UOT Kitchen is a website that allows you to theme your system by changing various icons, fonts etc. You select what you want, upload the files specific to your ROM and then download the modified files.
Using CWM/FeaMod Recovery
- Requirements: ClockWorkMod Recovery, root
- Using a filemanager in root mode (e.g. ES File Explorer), copy the following system files to /sdcard:
- /system/framework/framework-res.apk
- /system/framework/twframework-res.apk
- /system/app/SystemUI.apk
- In the UOT kitchen, select the options you want and optionally preview them.
- Go to the "File Upload" tab and select the following options:
- "Edify scripting" -> "update-binary: Type Galaxy"
- "Select your Rom..." -> Upload System Files
- Under "Upload your own files" upload your framework-res.apk, SystemUI.apk and twframework-res.apk
- Go to the "Summary" tab, double-check everything and submit the job. Once it's finished, download the zip file.
- Boot into recovery mode by pressing VolUp and Power buttons when the phone is off. Select "Install zip from sdcard", navigate to your downloaded zip from the kitchen and apply it. (Navigation in FeaMod/CWM Recovery: VolUp/Down for up/down, Menu for selecting)
- Reboot
Using Stock Recovery
- Requirements: root
- Follow steps 2 to 6 of the above guide (configure the kitchen, copy your apks and upload them to the kitchen, cook, download resulting zip)
- Download the Update.zip Modifier and unpack it (Windows only)
- Unpack the zip from the kitchen into the "placehere" directory inside the Update.zip Modifier directory
- Download and unpack META-INF.zip inside the "placehere" directory, replacing the existing META-INF
- Start "Script.bat" from the main Update.zip Modifier directory, press n, select the second option: "Create update.zip".
- Copy the resulting update.zip to your sdcard, reboot into recovery mode and flash it by selecting "Install zip from sdcard".
TW Launcher 4.5
TW Launcher 4.5 is a modified Launcher based on the official Touchwiz Launcher 4. For informations follow
this thread
- Download and Install TW4Manager.apk
- Open it and go to "check for updates"
- select "Latest stable version". The download and installation for the Launcher starts.
TV-Out
The Galaxy S Plus provides analogue TV-out through the headphone jack. Currently this only works on Samsung-based ROMs. There is no HDMI out via USB.
The headphone jack does not use the standard pin order for 3.5mm jacks so in addition to a 3.5mm to composite cable you will need an adapter to change the pin order as follows:
- L -> L
- R -> R
- GND -> MIC
- MIC -> GND
An affordable working tv-out cable is the Nokia CA-75U, an example of the headphone jack adapter needed can be found
here.
Instructions (Samsung ROMs only):
- In system settings, enable TV out and set TV type (NTSC or PAL)
- Connect headphone adapter to headphone jack and to video adapter
- Connect video adapter to headphone adapter and to composite plugs in TV (video, audio left, audio right).
Useful Guides for Developers
Deodexing
Deodexing is done if you want to theme your phone to the limit and change any graphic or icon presented by the system. It is necessary because these items are mostly stored inside optimized uncompressed .odex files. Deodexing puts them back into the .apk/.jar of the app/framework so that you can edit and change things. Note that since .jars are compressed, your system might run slightly slower as a result of deodexing.
How to report Bugs
If you have some trouble by using a rom, you should report these with almost all the informations you can give.
The biggest help for debugging is a logcat.
"The Android logging system provides a mechanism for collecting and viewing system debug output. Logs from various applications and portions of the system are collected in a series of circular buffers, which then can be viewed and filtered by the logcat command." (
more)
Make a logcat directly after the existing issue.
Calibrate Battery
Sometimes you can't trust your batterystats, because flashing roms will make them inaccurate. To fix this issue, you have to calibrate the battery.
You will need a fully charged device. After that let the phone on charger:
- reboot your phone in recovery mode, under "advanced options", wipe batterystats - reboot
- or go to the folder /data/system and delete batterystats.bin - reboot
- or for adb shell: su (enter) rm /data/system/batterystats.bin (enter) - reboot
Now you can unplug the device from charger.
Secret Codes
The following special numbers can be "dialed" to read out internal data and get access to various debugging functionality (most of these only work on Samsung Stock ROMs and ROMs derived from Stock ROMs):
| Dialer Code | Function |
| *#1234# | print the PDA, PHONE and CSC versions of the current firmware (alternatively: *#*#44336#*#*) |
| *#06# | print the IMEI |
| *2767*4387264636# | print the product code |
| *#*#4636#*#* | Phone information, Battery information, Usage statistics, Wifi information (very useful for debugging, has ping test etc.) |
| *#0*# | testing mode, has tests for LCD, speaker, vibration, front and back camera, touchscreen and all other internal sensors like accelerometer, magnetic sensor etc. |
| *#*#7594#*#* | switch the action performed when you hold the "Power" button: default is to display a menu (with options like silent mode, flight mode, power off), the other setting is to directly switch phone off |
| *#*#8255#*#* | GTalk service monitor, for GTalk debugging |
| *#*#526#*#* | WiFi driver test, use Menu button to select start transmission and receiving tests (alternatively: *#*#232339#*#*) |
| *#*#232338#*#* | print WiFi MAC address |
| *#*#1575#*#* | service mode: GPS test |
| *#0011# | service mode: signal status |
| *#1111#* | service mode: print FTA SW Version |
| *#2222#* | service mode: print FTA HW Version |
| *#*#0283#*#* | service mode: audio packet loopback |
| *#*#0673#*#* | speaker test (alternatively *#*#0289#*#*) |
| *#*#0842#*#* | vibration test |
| *#*#2664#*#* | Touch screen test |
| *#*#0588#*#* | Proximity sensor test |
| *#*#232331#*#* | Bluetooth test |
| *#*#232337#*# | print Bluetooth device address |
| *#*#3264#*#* | print RAM version |
| *#3214789650# | enter AngryGPS configuration |
| *2767*3855# | Factory format. WARNING! ALL DATA WILL BE DELETED AS SOON AS YOU TYPE IN THE FINAL #! IT DOES NOT ASK FOR CONFIRMATION! |
| *#*#34971539#*#* | Camera firmware info and update. WARNING! Trying to flash camera firmware will brick your camera! |
| *#*#2663#*#* | Touch screen firmware version and update |
| *#9900# | dumpstate/logcat, debugging (RIL) and Enable/Disable Fast Dormancy (settings seem to reset on boot) |
| *#*#3214789650#*#* | TEST GPS and edit parameters (with GPS ACTIVE) |