Monday, April 9, 2012

Installing ICS (CyanogenMOD 9) on your SC-02C (Galaxy S2)

Update: I have published an easier more comprehensive guide here

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. CyanogenMOD9 isn't considered a stable release yet and the kernel we are using has just hit a "stable" release so some hiccups are to be expected. For kernel specific issues please report them in the XDA thread for the kernel.

Up until this point we have not been able to install any Ice Cream Sandwich based ROM's on our Japanese Galaxy S2 (SC-02C) due to our hardware being slightly different and the lack of support for ICS from kernel developers.

When Docomo announced that we wouldn't be receiving the Ice Cream Sandwich update until some time in July, I was pretty disappointed. And now that the Galaxy Nexus has all but disappeared from store shelves, there's no option for a Docomo ICS Japanese phone right now.

Fortunately, wjchen0 has recompiled Siyah ICS kernel to support the SC-02C and he has also supplied us with a fix for the infamous compass pole reversal problem a lot of people experience. I have created a CWM flashable ZIP file that has the latest Siyah 3.0.1 kernel that wjchen0 has compiled, the compass fix patch, and the stock SC-02C radio.

If you get stuck you can always restore your backup or flash the stock firmware on your device with the info here.

CyanogenMOD9 checks your devices build.prop file to check if the phone is compatible and doesn't recognize the SC-02C as being a compatible device. If you are coming from stock you will want to flash a GT-19100 ROM first before you continue.

  • Download the latest CyanogenMod nightly for the GT-i9100 here
  • Download the Google Apps ZIP file for ICS here
  • Download my here
  • Copy the CyanogenMod, Google Apps, and signed_SC-02C_CM9_Siyah3.0.1_OMKL4_Compass_Fix ZIP file's to your internal storage
  • Take note of your current APN settings under mobile networks -> Access Point Names
  • Remove your SIM card (in case the APN is not set correctly when you boot up)
  • I am assuming you already have a custom recovery installed if you do not have one installed follow step 1 in this post to install Siyah Gingerbread kernel that has a custom recovery.
  • Reboot into recovery (power off your phone and then turn it on while holding "volume up")
  • Backup your phone
  • Follow the official CyanogenMod guide to install CM9 via recovery (i.e., wipe, then flash CM9)
  • Flash the Google Apps ZIP
  • Flash the file
  • Wipe the dalvik cache and reboot your phone.
  • After your phone boots connect to wireless and configure your Google account
  • Go into the wireless settings and disable data networks (so we can safely set the APN latter) 
  • Power off your phone, insert your SIM card, reboot, configure your APN settings, and re-enable data usage.
  • There is a pretty nice tool in the Play Market called ExTweaks for configuring some of  Siyah kernel's more advanced options,you can download it from here .
  • Enjoy!!


  1. I had installed CM 7 on Desire HD last year and had my Black SBM sim inserted at the time of starting the device the first time, but it did not select the APN directly for me. In APN section it listed both the smile and open APN, but I had to manually select the correct APN for data to start working.

    On a tangential topic, does anyone here know if the SBM platinum band (900 MHz) testing has already started. Strange thing that happened today in office basement (this is the place where SBM signal reception is not there). Was using SBM sim in unlocked SC-04D (with international radio flashed). The signal bars were not showing which is what I had expected. But the data was working!!! When I checked the phone information, it showed that there was a signal in network type HSDPA-9. I tried a call, but it did not work and gave message that "No signal"!! But data was still working. Generally in normal SBM reception areas, the signal is listed as of network type UMTS-3.

    Since I am linguistically challenged, so not able to check Japanese blogs. But I think I might have stumbled upon SBM testing its 900MHz frequency. Cant think of any other explanation.

  2. is there any way to flash the mobile tv apk from SGS1 on SGS2 ?

  3. I have no idea since I never use it but you would probably have better luck flashing the one from the official sc-02c ROM.

  4. Any idea what it's called? It's not appearing in my nandroid dump when viewed from Titanium Backup.. Hidden under some other name?

  5. For anyone interested, the APK here can be used to get sp mode mail working:

    Also since we're flashing nightly builds, the changelog can be found here:

  6. I believe it is called MobileTV it is a system app. I am actually working on something unrelated but I have a stock image extracted on my PC so I just uploaded the files from "/system/app" here

  7. hello Nicholas, how should i install it? Just copy both files to "/system/app" y my phone?

  8. Really glad to be having a working gps, thanks mate! Only problem, which is not really your problem: ExTweaks doesn't want to play with my phone. My guess is because this is a modified Syiah kernel, so it doesn't officially recognize it. If you've gotten it working, then it must be a defect on my end. Either way, cheers!

  9. hmmm, it seams to be working on my end but I haven't really changed many of the settings since I don't know what 99% of them do. I set my governor and CPU settings under the performance options of CM9.

    Maybe make sure that ExTweaks has root permission or clear the data, uninstall, and re install it.

  10. that might work depending on what ROM you are using and if it is deodexed on non deodexed. You also might just be able to install the APK. Make sure you set the permissions to be the same as the other apps in there and then reboot and see if it worked.

  11. Hello, te rom is wrking fine except for Data, i can only browse through Edge, the rom not display 3g o H icons, i have the correct APN. The kernel im using is 3.0.27-siyah-v3.0.1 and the basenand SC04COMKL4. Im using it outside Japan, in southamerica, should i change kernel or baseband? Hope something can be done.

  12. hello im using the rom from this tutorial CM9, it didnt work :(

  13. It depends on what cell phone company you use it with. The SC-02C radio uses
    Cellular:Networks: GSM850, GSM900, GSM1800, GSM1900, UMTS800 (B6), UMTS1700/2100 (B4), UMTS2100 (B1)
    Cellular_Data-Links: GPRS, EDGE, UMTS, HSDPA, HSUPA, HSPA+, FOMA

    So you need to see which cell phone company uses those frequencies for which service. I had a similar issue when I used AT&T in the US. Some of the frequencies were supported but only enough for an Edge data connection.

  14. hmm I am not sure then you may want to ask on this thread

  15. Hi, thanks for the guides Nicholas. I've been trying to get my stock device to load a GT-i9100 ROM so that CM9 will install but the only images I have been able to flash with heimdall are the kernel files. All other images (factory, cache, data) fail after transferring with the error message "Failed to confirm end of file transfer sequence!" leaving me with a soft-bricked device. (reflashing a Siyah kernel and restoring a backup from CWM gets things back online).

    According to the heimdall blog v1.3.2 was supposed to resolve this error message but perhaps the Japan hardware has something specific that means the fix does not work.... By any chance have you seen this type of error before or have any advice on ways to change the device ID so that CM9 will install?

  16. I prefer using the command line version of heimdall. It is pretty easy to use and I have never had a problem installing files to my phone. There are a lot of ROM's that have a ZIP file that you can flash using recovery (I was using GingerMOD before). If you already have root then you can edit your build.prop file to identify your phone as a GT-i9100 and the CM9 should install just fine.

  17. I've been using the command line version as well but to no avail.
    I'll give GingerMOD and/or directly modifying the build.prop file a go, thanks.

  18. Did you tweak anything after install? Scrolling seems to be more laggy than the official 2.3.6 rom.

  19. These are the frecuencies for the phone company Claro (Peru) UMTS/HSPA 850/1900/2100
    So in theory it should work without problemas.

    Right now the phone works only for calls/sms/edge, no 3G or HSPA

    What else can be done?

  20. Found this on a forum but not exactky what values select or input:

    In dial:
    *# * # 1 9 7 3 2 8 6 4 0 # * # *


  21. hmmm, under system settings -> advanced -> radio -> HSPA -> do you have HSDPA+ HSUPA selected?

  22. The frequencies you listed the sc-02c supports for GSM not UMTS except for UMTS2100 so that is why you can only get Edge.

  23. Just to confirm, CM9 installed without issue after modifying ro.product.device in the build.prop file.

  24. Would I be right in thinking that HDMI is not working yet in CM9?

  25. Could be, I haven't tried it HDMI but I wouldn't be surprised since pinch yo zoom on the camera was just added last week. Here is a handy site to see the daily change logs

  26. hello i figure out that i have HSDPA disabled, dont know why?

    thenenter this codes in dial:
    1. dial *#*#301279#*#*
    2. select 2 CHANGE HSPA REVISION
    3. select 3 HSDPA ON HSUPA ON

    but it the phone still on HSDPA OFF HSUPA OFF

    how can i enable it?
    mayble flashing the modem?

  27. hmm not sure, When I check the info on mine it shows HSDPA 1 HSUPA 0 and when I try and change it and go back it shows the same info.

    OMKL4 is the latest modem but I am not sure that would really fix it.

  28. i have OMKL4 modem and "only 2G" inst checekd.

    I think it has something to do with "HSDPA 0 HSUPA 0" that i cant change, dont know why :(

  29. I'm not sure what setting needs to be set but you should be able to do it in the build.prop file

    Check on XDA for what settings might be specific for your country and phone with ICS.

  30. Nicholas - thanks for posting this.

    My first time flashing ROM and I must say that even though I consider myself a bit of an old skool computer nerd it wasn't exactly smooth sailing for me getting up and running. I don't think we're quite at the stage where rooting/flashing ROM is simple enough to be mainstream, but we have definitely come a long way; with all my mistakes I never felt the "oh sh*t I've bricked it" panic.

    Two questions:

    1) I'm also running the SC-02C on docomo. I'm safe to just turn tethering on now that I have ICS CyanogenMOD 9 installed, right?

    2) What is your recommendation for input configuration in Japan? I like Google Japanese Input Beta for the Japanese swipe keypad, but the QWERTY keyboard included is bollocks.

  31. Regarding number 2, yes the flick keyboard is nice, but the QWERTY one isn't as good. There really are no good free Japanese QWERTY IMEs, unfortunately. None perform as smooth as typing with the stock keyboard. And going into landscape often hides the text box (probably depending on your screen size).

    The best Japanese IME is ATOK. It is the most expensive app I've ever considered buying.

  32. Ah sorry, in case I wasn't clear, I meant the QWERTY keyboard for English entry. I prefer the flick keyboard for Japanese input.

    Will take a look at ATOK, but again it will largely come down to the quality of the QWERTY keyboard included for English input.

  33. Oh.

    Yeah, none of them compare to the the android keyboard. Maybe ATOK has the best English input. I just switch keyboards. The extra time and hassle is made up for by the speed with which I can type English with the default E keyboard.

  34. I think as far as them catching you right away you are pretty safe but they may take a closer look if you start using a ton of data. If you are really worried about it the Xi sim has pretty decent prices and includes tethering. I only really tether when I really need to and it has been fine for me.

  35. Just did this on my ex's phone, worked like a charm.

    Since I was coming from the stock and the CM9's stupid build.prop checks, it was easier to just modify the current stock build.prop (using ES File Explorer) than going the way of installing some other ROM first.

    Oh and all the links to the stock ROMs/basebands have been taken down. I'm guessing docomo didn't want them to be available :(

    Anyway thanks for the helpful guide :)

  36. The stock ROM downloads were lost due to Mega upload getting taken down and everyone else getting scared. You can google for a utility called Check Fus that will allow you to download the firmware right from Samsung if you need to.

  37. Hi there, thanks for this guide. I'm intending to root my phone mainly because I want to avoid DoCoMo's stupid charges for USB tethering and mobile hotspot usage.
    To be absolutely sure I don't screw this up and brick my phone, I want to be absolutely sure on the steps you've outlined them.

    1. Where you say "If you are coming from stock you will want to flash a GT-19100 ROM first before you continue", you are saying the procedure on this page will not work unless the phone has already previously been rooted at least once before? My phone still has the same set up as when I first aquired it from DoCoMo, so I'm assuming that means I am "coming from stock".

    2. I'm a little fuzzy on the terminology, particularly where you say "flash" this and "wipe" that. Are "flashing" and "wiping" options that are clearly presented at those stages, or does the ability to do those things require a kind of technical knowledge that I have to learn to do first?

    I have rooted a phone once before, my old HTC, using steps from your web site, so I'm familiar with rooting the phone as a concept, but rooting the Samsung seems a little more complicated.

  38. The link where you say "you will want to flash a GT-19100 ROM first before you continue" points to a forum page with a lot of posts. I'm not sure what ROM I should be using. Can you specify a particular ROM I should use?

    I'm basically a newbie at this, so I'll just go with whatever is recommended. I don't have the knowledge to be choosing between too many options.

  39. I was running GingerMOD before
    But it doesn't really matter any Gingerbread ROM for the GT-i9100 would be fine. You just need to boot it one time go back into recovery and then per the CyanogenMOD directions do a full factory wipe (don't need to format the SD card) and then install CyanogenMOD.

    But if you already have root then it is probably easier to just edit the /system/build.prop file and change the line ro.product.device in the build.prop file to say "galaxys2" or "GT - I9100" using ES-File Explorer or Root Explorer.

  40. nobody with wifi issue after ICS install???

  41. From reading the kernel thread at the top of the post it seams there has been an issue with the current build and CM9. The dev has released a "fix" but there have been a lot of various other issues reported so I have been waiting until he releases the next stable release before I package another ZIP file. I think he is only a few days away from another stable release.

    I have found that the WIFI widget in the status bar will not work a lot of times but if I go to settings and wireless I can toggle WIFI. Worst case scenario when that doesn't work a reboot usually fixes it.

  42. yeah, I will try and write it up a little better I just get tired of writing the same steps over and over.

    Looking at your error it looks like you are not running the command using "sudo"
    Try using sudo with the command and let me know if you run into any trouble.

  43. thank you very much Nicholas, I missed the kernel thread! :P

  44. Yeah, I can understand that it would be a little annoying to constantly rewrite instructions when they are basically the same thing every time with just minor variances. The effort you do put in is much appreciated, so please don't get the impression that I'm complaining or anything. I'm just struggling a bit to get from my stock phone, through the first few steps, to get on the right path outlined in this post.

    In any case, I tried the heimdall command with sudo, and this time the error was:
    Initialising connection...
    Detecting device...
    Failed to detect compatible download-mode device.

    I'm pretty sure my phone is in download mode. It says on the screen:

    Maybe I'm wrong though and I'm not in the right mode or something.

  45. Hey there. Well, I went ahead and tried to install follow all the instructions here, and I managed to get the Heimdall thing to flash the zImage to the phone (seems to connect about 30% of the time, don't know what makes the difference).

    However, now I can't get the phone to do anything except boot into recovery. I've tried wiping the cache, the Dalvik cache, and factory reset and then installing one of the zip files, but whatever ROM or whatever I try, all that ever happens is the phone shows the DoCoMo logo (with a yellow triangle underneath) for a little while, and then it dies.

    I wasn't able to download the file because it seems that has been removed from every sharing site. So I instead tried to flash what seemed to be equivelent:, but that goes part way through the installation process and stops where it says "cleaning system..."

    I also tried using, but that also did not finish installing.

    So I seem to have some kind of half installed system, and I can neither figure out how to go forward or back.

    Oh, I also downloaded the and tried to modify it as suggested, by changing ro.product.device in the build.prop file to say "galaxys2" or "GT - I9100", but it already said "galaxys2" before I made any edits. I tried changing it to "GT-I9100", but that didn't seem to help.

    So, my phone seems almost bricked. I can boot it into recovery (says CWMR Touch v5.5.0.4 at the top) and download mode, though, so I have hope I can either reset it back to factory conditions or somehow push through. Any tips?

  46. Sorry you are having such a rough time with it. Did you try installing the cm9 zip? Also did you try doing a factory reset?

    If you did a backup from recovery you can also restore that but if not I would recommend you install the factory firmware and then we can try again.

    See this post and then the details on using heimfall. I have the full command listed.

  47. Also I have made a flash able file that will install the cm9 build.prop so you dont need to bother with installing a different rom first. Don't stress out too much I have been in this situation before too.

    Check out this file on Box:

  48. Okay... before I go at this again, let me see if I've got this right:

    1. Boot into recovery
    2. Factory reset/wipe cache
    3. Flash the
    4. Flash the

    Are there any other steps?

  49. If cm9 installs then you will want to flash the zip file for our specific kernel and modem. Also the first boot will take some time. Give it 5 min or so before you start worrying.

  50. Oh, right... so my process should be:

    1. Boot into recovery
    2. Wipe data/factory reset (also wipe cache)
    3. Flash the
    4. Flash the
    5. Flash
    6. Flash

    Unfortunately, though, when I hit step 4, Flash the, it says:

    Finding update package...
    Opening update package...
    installing update...
    assert failed: getprop("ro.product.device") == "galazys2" || getprop("") == "galaxys2" || getprop("ro.product.device") == "GT-I9100" || getprop("") == "GT-I9100" || getprop("ro.product.device") == "GT-I9100M" || getprop("") == "GT-I9100M" || getprop("ro.product.device") == "GT-I9100P" || getprop("") == "GT-I9100P" || getprop("ro.product.device") == "GT-I9100T" || getprop("") == "GT-I9100T"
    E:Error in /emmc/
    (Status 7)
    Installation aborted.

    I can't seem to progress beyond that. Any ideas?

  51. Hmm I think that you might need to boot up once to get the new build.prop values. You might try rebooting into recovery once and try again if that doesn't work you will want to install the stock ROM first and then install the new build.prop reboot and then try and install cm9.

  52. So you're saying:

    1. Boot into recovery
    2. Wipe data/factory reset (also wipe cache)
    3. Flash the
    4. Reboot into recovery
    5. Flash the
    6. Flash
    7. Flash

    Sorry... also just to be clear, because there are so many ROM and zip files flying about... which exactly is the "stock ROM"?

  53. That looks correct, if that doesn't work you should install the factory default image with the info below.

    Using heimdall you can install the default stock ROM that the phone ships with. Use the command
    heimdall flash --cache cache.img --factoryfs factoryfs.img --hidden hidden.img --modem modem.bin --param param.lfs --kernel zImage

    With the stock files I have uploaded here

  54. Okay, my previous set of actions failed again at the same place despite rebooting, so I'm downloading the stock ROM files from your link and will hit my phone with the heimdall command you say to use.

    Which raises just one more question: Assuming I can flash my phone back into stock mode, I assume I have to use heimdall again to flash the kernel before attempting to do this upgrade process.

    However, it seems the right kernels for upgrading to ICS ( ) are no longer available on Multiupload. Is there a place I can re-download the right kernel for upgrading? I want to make sure I'm using the right one.

  55. The link you provided is for the stock kernel, radio and ROM which you are already downloaded.
    Use this kernel after you have normal booting phone.

    This kernel works with gingerbread and has the custom recovery. Once you install that you can install the new build.prop file reboot and then install cm9.

  56. Which version of heimdall are you using? Someone else mentioned a similar problem. It looks like the newest version is 1.3.2.

  57. You also might try installing this ROM through recovery since I don't think it checks the model and I have heard good things about it.

  58. I was running Heimdall 1.3.1, so I just upgraded to 1.3.2, but the stock kernel still keeps giving me the same error.

    I'll download the ROM you just suggested. I assume I do this in place of Do I still need

  59. You shouldn't have to mess with the build.prop file on that one.

  60. Okay... Well, I can't seem to get a handle on anything now. When I flash a kernel with Heimdall, it still fails, then boots part way into some interface where the options are limited and I can't mount a USB connection to transfer over a new ROM.

    I'm trying to just reset everything so I can at least get onto stable ground, but I just can't get any traction.

  61. Hmmm... the new Hyrdogen ROM gives me the exact same error that the other one gives. The whole "getprop..." thing.

    I tried running the, but that didn't help.

  62. okay hang tight, I am testing editing the script that installs it so the SC-02C is supported. When you installed GingerMOD before which file did you install? Because there is a base install and then an update. And if you only installed the update rather than the base install that may have been the root of our problems.

  63. Okay, I have modified the install script on the hydrogen ROM so it should accept the SC-02C

    after you install it install the ZIP for the kernel and modem. Also after it installs wipe the system cache and dalvik cache.

  64. I did see that the GingerMOD had a base and an update, so I think I installed both. Maybe I accidentally went the wrong order though. At this point, I'd say anything is possible, as my phone is completely fubar.

    I downloaded your new Hydrogen ROM (thanks for that!), and I'm keen to try it, but I can't get into the recover interface. When I try to get recovery by holding vol-down+home button + power, I get a message that says:

    Firmware upgrade encountered an issue. Please select recovery mode in Kies & try again.

    Ahd heimdall is giving me:
    Initialising connection...
    Detecting device...
    Claiming interface...
    Attempt failed. Detaching driver...
    Claiming interface again...
    ERROR: Claiming interface failed!
    Re-attaching kernel driver...

    I think I'm just on the verge of it being a brick. I can get it into download mode, but not get heimdall to copy over a kernel. I can't seem to get it into recovery anymore.

  65. I think there is something funky with your phone / computer combo. Try restarting both until it will let you instal the kernel. Maybe install a slightly older version of heimdall.
    What area do you live in?

    I'll check out some other options tomorrow. Do you have access to a windows machine?

  66. *whew* Got it back.

    So... here was the turning point. The file factoryfs.img that I downloaded from your Google docs directory seems to be corrupt. I downloaded another version of it from here: and using that, I was able to get heimdall to flash the stock kernel and settings.

    So I got the phone back to factory conditions, which is a relief. Now that I know I can get back to that, I got bold and tried to install one of the new kernels.

    I flashed the newer zImage, and then tried the Hydrogen ROM. It failed with the same error as before, so I installed signed_cm9-build.prop and then it worked. As I write this, the install worked and it's on its first boot. there's a rather disturbing looking pink unicorn symbol, and it's been booting for about 7 minutes. I hope that's normal.

    In any case, at least it looks like I'm out of the woods. I've got a stable ground to work with.

  67. Glad to see you got back on stable ground. It really is pretty hard to brick these phones. If you still couldn't get past the unicorn boot animation do a factory wipe and wipe the cache and dalvik cache again.

    I do believe you are now a seasoned veteran ;)

  68. Yeah, thanks so much for the help along the way!

    The unicorn wouldn't go away, so I did as you suggested and wiped everything. Then on next boot, it all went well.

    My main motivation was to have a rooted phone that I could tether without DoCoMo service charges, but I'm happy to say that ICS has breathed new life into my phone, and my phone wasn't even lacking for speed to begin with. It's really, really responsive now, which is great. Plus there are some new interface elements which are nice.

    I have one, last, concern. Near the very beginning of this page, under "preparation", it says "Take note of your current APN settings under mobile networks -> Access Point Names". I did just that, and my APN mode was "SPモード".

    However, now, in ICS under mobile networks -> Access Point Names, there are about 5 options, but none of them are SP mode. They all say "NTT Docomo", but after that, there's 128k, bizho, flat, mopera, and mopera ff.

    It looks like I can add one if I want, but I'm not sure about the settings. This seems like an area I can get burned with fees if I don't proceed carefully and enter the right info. What should I be putting in here?

  69. Good tip about the backup. I will definitely do that.

    I use a flat rate plan. the 5000, (or is it 6000?) yen per month flat rate for unlimited access.

    So you're saying and are the same?

    Gotta be careful on this - I want to make sure I'm getting my all access pass to the internet without getting burned - and I guess now that I've rooted my phone, I can't go and ask at the DoCoMo shop ;)

  70. and are basically the same except if you are going to try and get spmod mail to work then you need to use the spmode one.

    I am using since I don't really care about spmode and there was one time where the spmode APN wasn't working but the mpr2 one was.

  71. Okay, cool. Thanks for clarifying. I don't use spmail either, so I guess it doesn't matter for me which of the two to use.

    We'll find out on my next bill if I've messed it up! ;)

    Thanks so much for this site and for all your help. You've made a great resource.

    And if anyone out there is thinking of rooting their phone and getting a custom MOD, I definitely recommend it. It's like a whole new, faster and better phone!

  72. did this nttdocomo s2 use GSM/GPRS or can it use other countries simcard?

  73. So this worked with compass and everything? I wonder if you still have the files.

  74. If you installed the patch for the compass it did. But I no longer have the phone or the files. You may be still able to find them on XDA though.