Cyanogenmod is an awesome aftermarket Android ROM that you can put on your phone to get an experience closer to the stock Google experience. I use it on my Samsung phone because I don’t want to deal with Samsung’s weird bubbly UI.

All the people working on Cyanogenmod are phone nerds who aren’t getting paid, and even though their documentation is a lot better than you’d think, there are still a lot of questions that it’s hard to get straight answers to. Right before my last trip to Japan, I didn’t know whether or not Cyanogen supported GSM mode for my Verizon Galaxy S3 (i535 or d2vzw), so that I could use it with a B-mobile SIM in Japan.

This isn’t the sort of thing you can Google around to find out- you have to spend a lot of time working your way through arcane XDA-Developers threads and there’s a lot of outdated/self-contradictory information in those.

Anyway, here’s the deal. If you have a Verizon phone and you’re running Cyanogenmod 10 or 10.1 (CM10 or CM10.1), as long as the phone has a GSM antenna you can get it to work. Here is how:

  1. First, put the GSM SIM card in your phone.
  2. Turn it on and open up your dialer.
  3. Dial *#*#4636#*#* (this opens up the hidden Phone Info menu)
  4. Click Phone Information
  5. Scroll down to where it says “Set Preferred Network Type”
  6. Pick one of the ones with GSM in it
  7. Then put your phone in airplane mode
  8. Then take it back out of airplane mode

Your phone should now be able to use GSM. In the case of B-Mobile you then have to go to Settings > More > Mobile Networks and add the B-mobile APN there.

This may work on other AOSP-based ROMs besides Cyanogen. The 4636 thing is a good thing to know about in general because it exposes antenna-related functionality that you generally can’t get to with the various Settings menus. If you can’t get GSM working on your Verizon global phone and are stuck, it’s always a good place to start.