Samsung Galaxy S Plus/GT-I9001
|Samsung Galaxy S Plus|
|Model Number: GT-I9001|
- 1 Introduction
- 2 Buttons
- 3 Download Mode
- 4 Recovery Mode
- 5 Rooting
- 6 Flashing
- 7 List of available ROMs
- 8 ClockworkMod Recovery
- 9 Custom Kernels and Tweaks
- 10 Theming with UOT Kitchen (replacing the battery icon etc.)
- 11 Deodexing
- 12 Useful Guides for Developers
- 13 Touchwiz 4
- 14 Partitions
- 15 Secret Codes
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.
Our community of I9001 developers can be found in the XDA Galaxy S Plus I9001 Android Development Subforum.
Your phone has four physical buttons:
- Power button
- Volume Up button
- Volume Down button
- Home button
and two touch-based buttons:
- Back button
- Menu button
Download mode is used to flash new ROM or custom ROM firmware. (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.
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.
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. CWM recovery avoids this by using Menu as the enter key instead.
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.
Easy rooting and unrooting guide by KeksKlip: http://forum.xda-developers.com/showthread.php?t=1253707
- 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.
Unrooting is exactly the same, except with the file UnRoot-i9001-Signed.zip
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!
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 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 will also remove your root access and your CWM recovery, you will need to re-install them.
On Windows, flashing is performed using the freely available ODIN Multi-Downloader tool.
Version 4.43 should be used.
Guide to flashing with ODIN: http://forum.xda-developers.com/showthread.php?t=1345671
- 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(broken link, use the link from the first post here: )
- 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
- 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.
Linux and Mac users can use the open source Heimdall tool to flash firmware: http://www.glassechidna.com.au/products/heimdall/
Currently as of version 1.3.1 Heimdall does not properly recognize the i9001.
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 firmware drivers for the most important hardware parts of your phone: GSM, WIFI, Bluetooth, GPS etc...
- 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. Currently the I9001 MODEM reported with the longest battery life is the one included in the 2.3.4 XXKP4 ROM.
After flashing a rom you might not be able to enter the Download Mode by pressing Volume Down + Home + Power. In this case a so called 'JIG' would be helpfull.
You could build it on your own: [HOWTO] [REF] Get Download Mode without 3-button combo using homemade JIG
... or buy a preassembled one on a well known marketplace.Hint: There is no difference between a JIG for Samsung S/S2 or S-Plus.
List of available ROMs
Based on the i9001 Stock ROM List Thread by Option58: http://forum.xda-developers.com/showthread.php?t=1346245
Please also consult sammobile.com which is the main source for stock firmware: http://www.sammobile.com/forum/showthread.php?t=18
Key to reading the IDs:
Months: January = A, February = B, ..., December = L
Years: K = 2011, L = 2012
Source with full list of regions, providers etc.: http://samfirmware.com/samsunglettercode.htm
Tool to decode IDs: http://www.samfirmware.com/samfit.htm
|Baseband ID||Date||Region||Provider||Download Link||Languages|
|Baseband ID||Date||Region||Provider||Download Link||Languages|
|Baseband ID||Date||Region||Provider||Download Link||Languages|
|I9001DXKJ2||22.10.2011||Asia||http://forum.xda-developers.com/showthread.php?t=1326975||en, id, ms, th, vi, zh, ta|
Cranium RC 9 by sakindia123 (XXKQ1)
CyanogenMod-Port by YardE (lots of improvements since first version - audio still doesn't work)
broodROM RC4 by broodplank1337 (XXKQ7)
Cryberts ROM v1.3.1 by crybert (XXKPU) (no further development)
Simplistic Plus v2.0 by Dutch.ly (XXKQ7)
Crybernation beta3 by crybert (XXKQ7)
ClockworkMod Recovery (CWM) is an advanced 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 (if restore fails because of md5 checksum failure, check this out: http://forum.xda-developers.com/showthread.php?t=1397805)
- 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
manveru0 has ported CWM Recovery 184.108.40.206 for the i9001 and calls it FeaMod Recovery.
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.
Here you can find installation instructions.
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:
- 1. Just put this file on sdcard -> 
- 2. Load it via Feamod recovery with "install from sdcard"
- 3. Reboot the phone ("Reboot system now")
Custom Kernels and Tweaks
ThunderBolt! by pikachu01, promises better performance and better battery life
FeaCore by manveru0
Adrenaline Shot by dsexton702
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:
- 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)
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".
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.
Useful Guides for Developers
Make your own ROM and kernel - Guide by sakindia123
How to make an ODIN installable package - Guide by nikagl
All files you need to build an XXKPS Odin ROM - by broodplank1337
dsixda's kitchen for i9001 - by dsixda
You can install the newer Touchwiz 4 as an alternative launcher to the stock Touchwiz 3 follwing this thread
1) Download and Install TW4 Manager.apk Download
2) Then open it, go to "check for updates"
3) then select " Latest stable version". It will download it from the internet...and install it. That's it.
List based on /cache/recovery/last_log:
WARNING: 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!
Also be very careful about /efs partition. Corrupting it will make you lose your IMEI number, thus rendering your phone useless!
Param partition is used as temporary buffer to forward commands (like boot into recovery) from running OS to the bootloader.
The following special numbers can be "dialed" to read out internal data and get access to various debugging functionality:
- *#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