Monday, October 3, 2011

Installing a ROM on your Galaxy S2 (SC-02C) - Android 2.3.5

[This will be the first of a multipart series on increasing the performance, battery life, and functionality of the Docomo SC-02C Samsung Galaxy S2]

The usual warnings apply: We are not responsible for any broken or bricked devices. Use this guide at your own risk. However this worked for me on my SC-02C so it should work for you too. This is actually very easy but you need to make sure you have the proper tools first.

Notes: When installing a ROM you will always need to replace the kernel and baseband afterwards because the SC-02C requirements are slightly different than overseas models that most ROM developers are using. The reason we are flashing the kernel a total of 3 times is that the stock kernel does not have a custom recovery installed and we need to have a way to backup your current ROM in case you want to roll back (why you would want to go back to Touchwiz is beyond me :) but it is always good to have a backup). Otherwise it is more difficult to go back to stock. 

Also before proceeding, backup the 1seg app. You will need to re-install it when you are done. 1seg is supported in this kernel but I have not tested it so your millage may vary. You will also want to backup the Samsung keyboard if you use it for kana input.

Also if you are using spmode email you will need to backup that application as well. I don't use spmode email so I have no idea if it even works on this ROM.

Installing DelevRomv2 2.0 will wipe all of your data so backup accordingly

Also the SC-02C counts how many times you have flashed the kernel and detects if it is not a stock kernel. When running a non stock kernel you will see a yellow exclamation mark under the Docomo logo when you boot. This is normal and does not effect the phone performance but if you want to get rid of it and reset the count you can buy something called a "jig" that is a modified MicroUSB dongle that will reset it. You would want to do this if you had to send your phone in for warranty support. 

The ROM we will be installing is DlevROM2 v2.0 it has tons of options but this is what my home screen looks like, I have changed to a plain black background to save battery since with OMLED screens when it is a black pixel it uses no power.

The feature list includes:
  • KH3 Based
  • Deodexed Completely
  • Fully Themed From Head To Toe
  • Custom Transitions
  • Latest Ninphetamine Kernel
  • Green Overscroll Glow
  • Tons of Samsung Bloat removed
  • Multi Lockscreens and Customizable Extended Power Menu Thanks to Jkay
  • Removed SMS From Call Log
  • BLN
  • Ad-Blocking Hosts File Enabled out of the box
  • Themed MMS With Sent Time, And Unlimited Contacts
  • Completely Optimized DlevROM Installation
  • Themed System Apps
  • Hacked Camera, take pictures with volume buttons
  • SIP Over WIFI AND 3G
  • Added 2.3.5 GRJ90 Fujutweaks, for increased smoothness
  • Home button fix
  • Non Ascending Rintone
  • Call Recording In Phone
  • User Agent Switching Browser
  • Custom Bootanimation Included (You can change to whatever boot
  • animation you want)-
  • Themed Gingerbread Keyboard
  • Multi Language Swype
  • Google Talk With Video Chat NO LONGER NEED WIFI
  • Customizable Extended Power Menu thanks to Jkay
  • CRT Off Animation
  • Custom Font From My Captivate ROM
  • RAM Hack
  • Zipaligned
  • Init.d support, with tons of tweaks and features.
  • BusyBox
  • Root
  • EDT Tweaks customization for notification bar
  • Latest Google Market
  • Launcher Pro and TW4 Included out of the box
  • Extremely Fast
  • Unbelievably stable
Included Apps:
  • Launcher Pro
  • Spare Parts
  • SMS Popup
  • Fancy
  • Widget v1.3
  • EDT Tweaks
  • Jkay V7 Theme Modifier
  • Multi Language Swype
  • Themed Gingerbread Keyboard
  • BLN Control
  • Titanium Backup
  • Superuser
    The Kernel we will be installing is SiyahKernel v1.7.5. Until just recently there has not been a good custom kernel for the SC-02C that has many enhancements including Clockwork Mod Recovery so I have held off writing this up. Thanks to gokhanmoral over at XDA we now have a great custom Kernel for the SC-02C that bring these enhancements while maintaining support for the Japanese version of the Galaxy S2
    • Auto-Root (just flash it onto a stock rom and you'll have root)
    • ClockworkMod Recovery v4.0.1.4
    • Boot animation support
    • Supports SetCPU (OC upto 1600MHz, UC downto 100MHz)
    • Supports undervolting (UV between 800 mV and 1500 mV)
    • Supports voltage control via SetCPU (thanks to netarchy, ninpo, hacre)
    • Stock voltages as default
    • smartassV2 governor
    • Default governor is ondemand (200-1200MHz)
    • Tweaked interactive governor
    • Tweaked ondemand governor 
    • Compiler optimizations
    • user customizable charging speed (use at your own risk). you have to echo AC, MISC and USB charge currents to a misc device.
    • Touchscreen fix (thanks to vitalij)
    • Increased touchscreen sensitivity
    • Increased battery polling interval
    • GPU clock and voltage control interface (thanks to netarchy). Example CWM-flashable /system/etc/init.d/99gpuv script (thanks to AndreiLux)
    • I/O Tweaks
    • automatic battery calibration. leave it connected to a charger overnight and the battery will be calibrated.
    • Available I/O schedulers: V(R), noop, deadline, CFQ, SIO, BFQ (default)
    • Available CPU governors: ondemand (default), interactive, smartassV2(recommended), conservative, userspace, performance, powersave
    • /system/etc/init.d startup scripts support
    • Updated jhash to version 3
    • Increased charging speed.
    • BLN (thanks to creams), liblights is autoinstalled if the existing one doesn't support BLN
    • CIFS, SLQB, NTFS and several others that I forgot...

    No MD5 was available from the developer's, but these are the checksum's of the files I flashed. These files worked for me, so if you get the same checksum, you have the same file I do.

    62b58dd14f266b6623402dfc5c166e6c  Siyah-NTT-v1.7.5.tar
    • First read the thread over at XDA here. Then download the latest SC-02C version of the custom kernel. The dev is very active so more likely than not there is a later version available but the 1.7.x version should be pretty stable. He says in 1.8.x is going to mix it up a lot so I would hold off on that series for now.
    • Extract the TAR file and put it in a folder.
    • Read about DlevROMv2 2.0 and download the ZIP file from here.
    • Download the Stock baseband and Kernel for the SC-02C here. Keep a copy in a safe place and then copy the modem.bin file to a folder with the custom kernel. 
    • If you have not yet installed Heimdall download and install the latest command line version here.
    • Under settings -> Wireless -> mobile networks -> access point names. Make sure you verify your APN settings. This ROM has the APN auto populated but if you need to use spmode make sure you write down the settings. A mistake here can cost you money later.
    Step 1 Install the Kernel
    • Install the kernel using the command line version of heimdall.
    • Put the phone into download mode and make sure the phone is not connected to USB. Next turn it off and turn it on while holding volume down and the home button and then connect the USB.
    • From the directory that you have extracted the Kernel to run the command
      heimdall flash --kernel zImage (use sudo if using a Linux system) the phone will then reboot and start up (it may be slow to boot up the first time).
    *Note if you have any stability issues like the phone locking up you can always flash the stock kernel you downloaded using the same method as you used above.

    Step 2 Backup your system

    Now we need to put the phone into recovery to backup the system. To put it into recovery do the same as we did to put it into download mode except use the "volume up" key not volume down when holding the home key and power button.

    At this point it would also be a good idea to mount your phone as USB Storage from Recovery at this point and save a copy of your backup to your PC. The backup will be in the /sdcard/clockworkmod/backup folder. 

    Step 3 Install DlevROM2 v2.0
    • From the Clockwork MOD recovery mount the phone as USB storage and copy the file you downloaded to your phone's SD Card (actually internal storage).
    •  Then unmount the storage.
    •  Next from the main menu we will want to select the option to install ZIP file from our SD Card. Navigate to the file and install it and reboot your phone. 
    Step 4 Re-flash the custom Kernel and stock Baseband

    Anytime we install a ROM it wipes out the Kernel and baseband we need. Without both the GPS and 1seg will not work. That is why we need to flash the proper kernel and baseband again.

    We need to put the phone back into "download mode" like we did before. And this time we will run the command:
     heimdall flash --kernel zImage --modem modem.bin

    The phone will reboot and if you go to "settings -> about phone" you should see

    Step 5 post installation tasks

    Give your phone a full charge and then reboot into recovery and wipe the Dalvik cache and the system cache. This kernel will auto calibrate the battery so give it a full charge and then let it fully discharge after the first charge. Don't pay too much attention to the battery stats at this point because they will be way off.

    Now before you sign in with your Google account make sure you check your APN settings if the wrong one got auto configured it will cost you money!! After verifying that go ahead and sign in and configure your phone. Personaly I like to make sure I am connected to WIFI so any data packets will be going over WIFI at this point.


    disable fast dormancy. dial *#9900# and disable (this should help with battery and reception issues)

    Under applications and "Samsung Applications" disable check for updating

    Install Set CPU from the Android Market it will set you back ¥152 but it is worth it you can over and under clock your phone. So far I have found the best settings for this ROM are the ones below. This will give you a good balance of battery life and performance. 

    Also if you find that this ROM and Kernel are useful to you I recommend you donate a few bucks to the guys who created them because without them we would be stuck with the crappy Samsung default ROM.

    Coming soon how to get the most out of your battery and how to track down what is draining your battery ....


    1. Thanks for

    2. Thanks for laying this out. As ever, easy to understand. Great post.

    3. Thanks. The info is all out there on XDA but it can be a pain to piece it all together. I must have flashed my phone 20 times or more in the last week or two :)

    4. Glad you mentioned checking the APN after flashing. I'd just flashed my trusty old HTC Magic with a gingerbread ROM and hadn't given any thought to the APN. Sure enough, it had defaulted to Docomo's APN instead of bizho. Luckily I haven't been using it that heavily and only changed the ROM a day ago...hate to think what my bill would look like if I hadn't been poking around on SBS (while tethered ;) Thanks for the tip!

    5. yup that is one of the most important things to check and always seems to be an afterthought even for me.

    6. umm..... you still might be have an extra charge. mopera net isn't a pay as you go APN. It adds a straight up fee of ¥4,200. At least that is what it did to me. If you use it just a little bit, you'll be charged. The fee can't be negotiated. The Docomo shop staff don't even have the power to remove it.

      I always checked before flashing by "unyaffs"ing the ROM and checking the APN-conf file. The problem is if mopera net is listed above mpr2. If you dont' have the utilities to do that, I'd suggest doing a first boot with no SIM, then disabling 3G data, and only then boot with SIM. If it sets the wrong APN, it won't send packets and you can fix it.

    7. I figured as much and am prepared for that eventuality. There have been horror stories of roaming iPhones racking up hundreds and thousands of dollars of data transfer fees and compared to that, 4200 yen is an acceptable fine for my ignorance ;-)

      On a related note, does installing CyanogenMod on the SC-02 allow you to get around Docomo's tethering fee?

    8. I haven't tried CyanogenMod since it doesn't yet have a kernel that supports the SC-02C and I have not tested this kernel with it. CyanogenMod will get around any Docomo spyware that would charge you but if Docomo has any other way of detecting is anyone's guess. I have tethered on my old HTC Magic using Cyanogen mod and I didn't get charged but that was a while ago and didn't use it heavily only when I was in a jam.

    9. Does the kernel have iptables? If so wireless tether for root user should work. Do the custom ROMs have the wireless hotspot feature?

      Basically, I am 99.9% sure this is what is happening: Activation of tethering on Docomo ROMs doesn't have anything to do with spyware or whatever - it isn't reporting your activities, it simply switches the APN to the mopera dot net

      connecting on that APN automatically generates the ¥4,200 tethering fee. So what you need to do is activate tethering without automatically switching APNs, which is the normal way of doing it and the way any custom ROM will do it. Or use the app I mentioned above.

      Of course you tether at your own risk. I have done it extensively and never had a problem from tethering. I have had the problem from mopera dot net, but that had nothing to do with tethering.

    10. I'm wondering because the contract on my Magic is up in November and I'm looking at the SC-02 as a replacement. I'd like to be able to keep the same usage profile, USB tethering from time to time, without incurring the extra costs. If there's no real way around the tethering fees on the SC-02 I might just keep the Magic until it burns out. Hopefully Docomo will remove head from sphincter regarding tethering sometime soon.

    11. If you have root, you can get around the fees. I am 99% sure of this. If you do dumb things, they may notice you are using way too much data than is usual and that could cause you problems.

    12. 2 points I want to clarify.

      1 - Am I right to assume that backing up 1seg & the Japanese keyboard are done at Step 2 before installing the custom ROM? In order to have backups of just those things, would I use something like Titanium?

      2 - The stock baseband and kernel are .exe files (SC-02C_DCM_SC02COMKG5_SC02CDCMKG5_SC02COMKG5.exe). Can I just change the filenames? I use Linux, so was quite confused by this. And when you say "modem.bin", is this referring to the baseband? These terms are interchangeable?


    13. Something like titanium should allow you to back up the apps you want to keep. I didn't bother sine I don't use them.

      The executive is a self extracting archive if you don't have access to a windows machine let me know and I can post the files.

      You are correct that the modem.bin is the baseband.

    14. Don't you love autocorrect on an android keyboard? Like when you type "exe" and hit the space and it converts it to executive? ;-p

    15. Yup ;) I just edited it I am using my phone as I try and fix botched Ubuntu 11.10 install on my laptop.

    16. OK, I managed to get a .tar by using Wine. I see now that the .tar contains 6 files, one of which is modem.bin. Is that the only file I need, and not the other 5?

    17. Eyes but do save the others in case you need to restore also make sure yodo a backup after you install the kernel. The modem.bin should be all you need.

    18. Sweet. Thanks a lot :D

    19. thanks a lot.i flashed and rooted my sc-02c with your great post.Good JOB!~

    20. I can't get past the first step as I get "ERROR: Failed to access device. libusb error: -12"

      Any Ideas?

    21. If you are using windows make sure you have installed kies so you have the USB driver's installed. Also main sure it is in download mode.

    22. Thanks, very helpful!

    23. Hi, thanks for this guide. Really helpful.

      I have hit one snag though. The command line version of heimdall won't start on my pc. Just flashes on and then closes. Due to this, I used Odin to flash the custom kernel onto my phone and it works fine.

      I want to install the rom too but I'm not sure how I would go about flashing the modem.bin file with odin. I know the "phone" selection on odin has .bin as an acceptable file type but I was hoping someone with more experience/ knowledge could confirm this for me.


    24. check on the SC-02C forum most people there use Oden. I use Linux so I can't use Oden.

    25. I looked around and it was as I thought. Installed everything and works perfectly. Battery even lasts an entire day!

      Great guide. Thanks again!

    26. Sorry Im a newb... Just a few questions .... I followed all your directions and everything is great, but I lose data so can you help me get it up and working again? When I flash back to my backup it starts working again so I dont know what controls data... Thanks for your post by the way... I wasnt sure it was safe to flash roms in japan until I came to this site... Plus 1seg and gps work perfectly fine. You're the MAN!

    27. You lose your data connection or application data? I think the dlevROM will wipe your data. You can backup and restore by using an application like titanium backup. If you are referring to data connection. Go to your APN settings and verify the settings between stock and the ROM. Dlev has the mpr2 APN but not the SPMODE apn so that one would need to be added manually.

    28. oh I see... Any advice on how to do that?

    29. On which part? I can put some directions together tomorrow.

    30. adding SPMODE in manually... I just got my phone 2 days ago and Ive spent probably ~15 hrs searching how to get data connection back and I couldnt find anything

    31. Under settings -> Wireless -> mobile networks -> access point names

      There is a post here that has the apn settings for the apn's. Add the settings f

    32. Do you know how to add it in manually? I installed a few roms specifically modified for SC-02C and they all had APN's other than SPMODE... I also tried the DLEVROM2 and the version I tried also didnt have it. Thanks again for the speedy answers...

    33. I have an idea... If I use root explorer in the stock rom and copy the apns-conf.xml, can I use the copy to replace the apns file in other roms? I mean I know root explorer would allow it if im rooted... but my question is "would it repopulate the apn list?"

    34. You can export and import APNs without the need of root with the following app:
      I used this successfully in a few phone carrier shops together with FTP upload feature from ES File Explorer (-:

    35. I don't understand what the problem is. As Nicholas says, go to Wireless -> mobile networks -> access point names

      From there, press the menu button and select new APN. Reference my APN list, and add the SP Mode APN by tapping on the 1) Name and giving it a name (any name is fine - it doesn't matter), then 2) APN and typing 3) Based on your SIM, android should automatically set 440 and 10 for country and carrier codes, but if it doesn't, add those. 4) click menu again and then hit save APN. 5) From the list of APNs select the one with the name you just gave it. 6) enjoy data.

    36. wow thats simple... Sorry this is my first GSM phone so I dont know anything but thanks a lot I will try it now and let you know how it fares.

    37. How did you get the 1seg to work after this? I cant seem to get it.

    38. You should be able to restore it using titanium backup. If you have the app installed and the correct kernel "SiyahKernel" the ntt version it should work. I have never bothered with it but others have said it works. If it is not working then I would comment on the kernel thread as one of the updates may have broken it.

    39. If I start playing around with roms and then decide I want to go back to stock, can I just restore an official rom using kies anytime? Or will that not work the way I think?

    40. Your tutorial is always helpful. Thank you so much.Today i have a question regarding siyah kernel, should I get the latest one or just stick to the version 2.0. There is v2.3 for nnt docomo if im not mistaken. And for DlevROM should i go for 3.1? Thank you in advance. yoroshikuonegaishimas..

    41. for the kernel I would go with whatever the most current version that is not listed as alpha or beta as long as it is the NTT version. The kernel is pretty easy to flash so if it is buggy for you then try an earlier version. For the ROM I would also go with whatever is the current version. I am on 2.1 right now I think but only because I haven't had the time or energy to update and re-install all my apps and what not.

      I will take the time to write another post whenever there seems to be a good Ice Cream Sandwich ROM that works with the SC-02C. Until then my current setup is working fine as far as speed, performance, and battery life so I haven't really felt the need to update to the latest version of the kernel and ROM.

    42. During backup in Step 2.

      no /sdcard/.android_secure found. skipping backup of applications on externel storage

      no sdext found skipping of backup sd-ext
      generate md5 sum
      backup complete

      Is this normal or i messed with something?
      Can i just install zip file ROM using heimdall?

    43. that is normal I get that every time I do a backup. You can install the ROM through Clockwork recovery it is really easiest that way.

    44. It worked.. :D thank you so much..but now im trying to do Re-flash the custom Kernel and stock Baseband..but this come out

      student@ubuntu:~/Desktop/root$ heimdall flash --kernel zImage --modem modem.bin Heimdall v1.3.1, Copyright (c) 2010-2011, Benjamin Dobell, Glass Echidna

      This software is provided free of charge. Copying and redistribution is

      If you appreciate this software and you would like to support future
      development please consider donating:

      Initialising connection...
      Detecting device...
      libusb couldn't open USB device /dev/bus/usb/001/020: Permission denied.
      libusb requires write access to USB device nodes.
      ERROR: Failed to access device. libusb error: -3

      i enabled the usb debugging.. do you have any idea what went wrong?

    45. Make sure you use sudo then it should work.

    46. make sure you use sudo and it should work.

    47. Thank you so much. I tried 2 rom today. And I stucked. Luckily i remembered your advises to put it into recovery and wipe the dalvik cache and system cache and do a factory reset. That really save me. Thank you so much.

    48. no problem, I have been there too. Nothing like that to make you panic a little :)

    49. Thanks for your post. I followed your steps and it worked like a charm. However, I can no longer buy apps on the market. Have you seen this? I can no longer charge my docomo bill or use credit card (unable to use this card). I tried searching around google for a fix but no luck.

      If you haven't seen this, I'll do some more google trolling...

    50. Err, the error was unusable for this purchase