[Motorola Droid 4] Lum_UK:
The Droid 4, if running ICS or Jelly Bean, works fine on GSM/UMTS networks outside the USA. I have working voice, GPRS (2G), EDGE (2.5G), UMTS (3G), and HSPA (3.5G). 4G/LTE is unlikely to work at it appears this phone only supports 700MHz LTE wheras most countries are using higher frequencies.

This phone will not work on any GSM carriers in the USA, such as T-Mobile USA or AT&T. Verizon appear to have specifically blocked these carriers in the radio firmware. They only allow you to use your phone on GSM outside the USA. There is no unlock code to get around this. If you want to use this on a US GSM carrier then subscribe to this thread for the latest on efforts to unlock this. There are also reports of failures on B-Mobile in Japan. Post #3 contains a list of known working vs not-working carriers. Please update this thread, or PM me, with any results and I will keep it updated.

Back in 2012 the phone cost me £328 from a company called Devices Now, plus £35 in customs fees, bringing the total to £363, which really isn't bad compared to the prices that contract-free phones cost in the UK. It took just under a week to arrive, of which 4 days was stuck in UK customs!

Update: They're now selling it used for $99, which is probably about £60!

Devices Now offer this phone pre-flashed to ICS so you get GSM support out of the box! Some other suppliers appear to still be shipping Gingerbread based phones which will need to be upgraded as described a bit further down in this post.

Instructions for phones currently running ICS or JB

If you do not currently have a MicroSIM, get a stanley knife or sciscors and cut your SIM to size.

Insert your MicroSIM and Power the phone on.

Go through the Verizon activation process, which will fail.

Go to Settings -> Wireless and Networks -> More -> Mobile Networks -> Network Mode.

Set mode to GSM/UMTS.

Go to Access Point Names and set up the APN for your carrier.

Congratulations your phone should now be working on GSM and you can stop reading at this point if you wish.

Upgrading or reinstalling ICS or JB

(Required to support GSM) - also read this if you have bricked your phone!

>>>

DO NOT ATTEMPT TO DOWNGRADE YOUR PHONE WITH THIS METHOD, UPGRADE OR SAME VERSION ONLY - BRICK RISK!

<<<

Prerequisites: Windows PC, USB cable, at least 50% charge in the battery as the battery will not charge during this process!

If your phone is currently bricked to the point that it will not charge, you will need to flash using a factory cable. These can be bought on eBay etc. or you can make one. Read all about the factory cable here.

Download the fastboot files for the version of the OS you want. 4.0.4 = ICS, 4.1.2 = JB.

Download and install RSDLite 6.1.6.

Download and install the Motorola USB Drivers.

Power off your phone.

Hold the volume up, volume down, and power buttons at the same time until you see the bootloader menu.

Use the volume down button to navigate to "Recovery" then use the volume up button to select it.

When you see the android/triangle, press both volume buttons together.

Select "wipe data/factory reset" and on the next screen select "Yes -- delete all user data".

Once it's finished, select "reboot system now" then immediately press both volume buttons until you see the bootloader menu.

Connect your phone to your PC via USB.

Use the volume down button to navigate to "AP Fastboot" then use the volume up button to select it.

Open RSDLite, press the "..." button at the top, and select the fastboot image .zip file.

Select "Decompress And Start Flashing" and wait for the process to finish (it will take around 20-30 minutes).

Once the process is complete, reboot.

Go through the Verizon activation process which will fail.

Go to Settings -> Wireless and Networks -> More -> Mobile Networks -> Network Mode..

Set mode to GSM/UMTS.

Go to Access Point Names and add the APN for your carrier

Upgrading to Jelly Bean from ICS using the OTA update

Prerequisites: Windows PC, USB cable, unmodified ICS installed.

Download the OTA here and save it to the root of your SD card

Power off your phone.

Hold the volume up, volume down, and power buttons at the same time until you see the bootloader menu.

Use the volume down button to navigate to "Recovery" then use the volume up button to select it.

When you see the android/triangle, press both volume buttons together.

Using the volume keys, navigate to "Apply update from external storage" and select it with the power button.

Select the OTA you downloaded at step 1 and press the power button.

After flashing, select "Reboot system now".

If the update failed, then use the fastboot method above instead.

Rooting and further modification

The first thing to do is go to Settings -> Developer Options -> Enable USB Debugging, then obtain root using Droid 4 Utility for ICS or the Razr Blade exploit for JB.

I strongly suggest installing Safestrap and dual-booting a custom ROM, even if it is just a debloated stock ROM, then removing the Verizon CDMA-related APK files as this fixes several annoyances with the phone such as the "This SIM is from an unknown source" message at every boot. You do not want to mess too much with the stock ROM as at best it will hamper your ability to get further updates at worst you could brick your phone.

Adding other languages to the stock ROM (or a stock-based ROM)

See this thread, or alternatively install Mentor's ROM for a stock-based ROM with all languages enabled.

Note that non-stock ROMs are typically based on CyanogenMod and will come with all languages already.

Installing a custom ROM.

At the time of writing there are several ICS and Jelly Bean based ROMs available. Unlike other phones these are loaded using Safestrap which interrupts the boot process shortly after the stock ROM's kernel is loaded and allows you to dual or multi-boot your phone.

Hashcode maintains ports of both AOKP and CyanogenMod 10, both of which use the same low level framework and come out of the box configured for CDMA use. Pick whichever of these ROMs you like best. Personally I'm an AOKP fangirl :3

Note that at the time of writing Hashcode's ROMs currently do not support HDMI, webtop or camera flash.

For all ROMs, use this GSM patch, unless the ROM specifies that it is a GSM ROM already.

Olegfusion has made a modified version of the stock ICS ROM. It is pre-configured for GSM use, including all the APNs, adds Russian language, and has most if not all of the bloatware removed.

MyFishBear has released a debloated stock ICS ROM. It is CDMA by default but there is an optional GSM patch by Olegfusion. It works fine, but you will need to manually remove the 5 VZW APKs.

Shameless plug, but I've made a debloated GSM-oriented version of the stock JB ROM.

There are lots of other ROMs available in the developer's forum. This list is almost certainly out of date as it's not feasible for me to keep this list up to date, I have only linked to ROMs I have personally tried. Note that stock-based ICS ROMs will not work if you have upgraded to JB. Kexec ROMs will work regardless of what your stock ROM is.

Prerequisites: Running ICS or JB.

Obtain root as described above.

Install Safestrap.

Download your chosen ROM and any patches necessary.

Download GApps 2012-04-29 for ICS roms and GApps 2012-07-29 for JB 4.1.

Place both on your SD card. Internal or external should work, though I have only tested external.

Run the Safestrap app and have it install it's bootloader.

Reboot, press Menu when prompted to enter Safestrap.

Select ROM Slot 1

Choose Install

Select your ROM, GApps and any other patches (GSM patch, cdrom patch etc.)

Wipe data and cache and reboot.

If you are using CDMA or the GSM patch above, stop here. For manually setting up GSM support in non-stock ROMs, read on:

Go through the Verizon activation process, which will hang for 5 minutes then fail.

Go through the rest of the usual setup process. You will need to connect to a wireless network.

Install Build.prop editor.

Use Build.prop editor to change the following and reboot:

telephony.lteOnCdmaDevice=0

persist.ril.modem.mode =2

ro.telephony.default_network=3

ro.mot.phonemode.vzwglobalphone=1

persist.radio.vzw.cdma.mdn=deleted

ro.telephony.gsm-routes-us-smsc = 0

persist.radio.ap.phonetype=1

ro.mot.phonemode.vzw4gphone=0

You should now be able to access Settings -> Wireless & Networks -> More -> Mobile networks and set up the appropriate APNs for your carrier, if the phone does not already have them.

Fixing the "This SIM is from an unknown source" error in stock-based ROMs

If you're never intending to use the phone on Verizon, you can get rid of this error by opening terminal emulator and running:

su

mount -o remount,rw /system

cd /system/app

mv VzwPhoneService.apk VzwPhoneService.bak

You may as well do the same with VzwController.apk VzwDeviceSetup.apk and vzwapnpermission.apk, but leave VzwEntitlementService.apk as it's needed for mobile hotspot to work.

Credits:

Skylarmb for Droid4 utility.

Hashcode for Safestrap and for porting AOKP and CyanogenMod.

Olegfusion for his ROM, the cdrom patch and a lot of the info about GSM support and removing Verizon crud.

MyFishBear for the 217-based ROM and for hosting the JB OTA.

SGMD1 for the ICS flashing instructions.

Mentor.37 for the GSM patch, the build.prop settings and his multi-language ROM.

All I have really done is gathered the information and software produced by these people and put it in one place. Go and donate to them if you are currently enjoying using this phone in a GSM country.