Adam Outler · Jul 17, 2012 at 01:30 pm

What is Unlocked and How Does This Affect Verizon’s SGS3?

For the first time in the history of the Galaxy, Samsung has released a device with a “Locked Bootloader” in the form of the Verizon Galaxy S III. If you own this device, you should know that it is beyond the current abilities of XDA to support you.   But, what does it actually mean to be “locked?” Locked can mean two things.

When one says “carrier locked,” they are referring to the device lacking the ability to run on different (but similar) networks. A carrier locked device will only run with services attributable to the carrier, meaning you cannot switch to a different carrier. Naturally, an unlocked GSM device in most cases will not work on a CDMA network (and vice versa).

If you say “locked bootloader”, you are referring to the inability to develop and run custom firmware on the device. Our operations on XDA-Developers mainly center around unlocked bootloaders. Unlocked bootloaders enable developers on the site to develop custom firmwares, kernels, and system applications.  Having an unlocked bootloader is fundamental to running firmwares like CyanogenMod and AOSP.

To better explain the locked bootloader, lets take a look at the Chain-of-Trust. The device’s processor boots up and searches for a bootloader.  Bootloaders start certain parts of the hardware.  There are several bootloaders, which load in a chain.  The first bootloader is loaded into memory and checked to meet certain criteria before being executed.  The next bootloader follows the same pattern.  Some devices have up to 8 bootloaders in their Chain-of-Trust.   Finally, the kernel is loaded and launched by the bootloaders.  When we are not able to replace the kernel with a custom kernel, the device is considered to have a locked bootloader.

Contrary to information you may read elsewhere, there are several methods to unlock bootloaders.  Nexus devices have a tool called “fastboot,” which among other things, allows you to fastboot flash firmware. In most builds, executing the fastboot OEM unlock command will wipe upon unlock, however newer Galaxy Nexus devices are not performing this wipe operation. HTC offers HTC Unlock, which allows you to run load and run custom firmware packages. This method does not wipe your device.  Devices with a Tegra processors use NVFlash, which in most cases allows insecure firmware uploads. Samsung has never before locked a device. Instead, they provide a warning about what can happen before you load a custom firmware. The Samsung Odin3 tool simply communicates with the Loke daemon running on the device, and allows users to upload custom firmware.

The locking of the Verizon Galaxy S III is a huge issue for the developers of XDA-Developers.

  1. It creates a divide between models of Galaxy S III devices.  There is no lock on AT&T, Sprint, T-Mobile,  or any other manufacturer.
  2. It means by following directions intended for other devices, Verizon Galaxy S III users will brick their devices because of signature checks which have been put in place on the partitions.
  3. It  means Verizon users will likely be last to get updates.
  4. And most importantly, it wastes the time of several developers to work around this problem, which can only be categorized as a bug.

Most manufacturers choose to drop Chain-of-Trust security early in the boot sequence, instead choosing to protect firmware upload methods. The Verizon Galaxy S III has secure firmware upload and chain-of-trust enabled all the way to the kernel, which means if any changes are made to the kernel or bootloaders, the device is rendered entirely inoperative.  This is certainly no way to thank developers for creating new features on your products.

Adding insult to injury, Samsung has offered up a “Developer Edition” device.  This device has an unlocked bootloader, just like the rest of it’s Galaxy S III brethren. However, this device must be bought off-contract for $600.  So basically, they want developers to pay them money AGAIN because they are unhappy with the stock firmware on their devices.  Will Samsung then come along afterwards, and hand-pick the best open-source developments from developers on this site to incorporate in their next release? Thankfully, efforts are ongoing to work around this problem.

Samsung, every line of code spent working around a problem is a line of code that does not add a new feature.

Would you like to help in unlocking the Verizon Galaxy S III?  Verizon Galaxy S III users have posted a petition to Verizon requesting unlock.  There is a bounty of over $2500 USD for an unlock method.  There is also a research and development thread about the partitions, bootloaders, and hardware. Raged about the Verizon Galaxy S III? Have any information like Qualcomm processor manuals, datasheets, or theory of operations?   Have a great idea about how to unlock a Galaxy S III?  Post it in the comments below!

[Image Credit: Kevin Lee]
_________
Want something on the XDA Portal? Send us a tip!

Adam Outler

AdamOutler is an editor on XDA-Developers, the largest community for Android users. Electronics Tech/ Developer View AdamOutler's posts and articles here.
Mike McCrary · May 28, 2015 at 01:43 pm · 1 comment

I/O 2015: Google Announces App Link Enhancements

During the Google I/O Keynote, VP of Engineering Dave Burke announced that the Android M Developer Preview will include improved application linking features. Under the current system, Android is limited in its intent system when applications link to other applications, displaying the 'App Chooser' dialog box for the user to select how the link is handled. In the M Developer Preview, developers will be able to add an AutoVerify ability to application links, which is a line of code that verifies the app making...

XDA NEWS
Faiz Malkani · May 28, 2015 at 01:40 pm · no comments

Google Announces its IoT platform titled ‘Brillo’

A few days ago, a leak highlighted Google's foray into the Internet of Things space, and Sundar Pichai has just confirmed it by announcing Project Brillo at Moscone West during Google I/O 2015. Project Brillo is essentially a simple operating system with only the core stack on board, such as the kernel, HAL, connectivity, device administration and BLE. Project Brillo will run on an underlying communications layer called Weave, which will employ standardized scheme to ensure that all connected devices...

XDA NEWS
Aamir Siddiqui · May 28, 2015 at 01:38 pm · no comments

Android M Adds “Doze” Deep Sleeping

Android M has answered the call of battery by adding in a deeper sleep implementation than existing deep sleep. This comes in the form of Doze. The feature make use of the devices sensor to smartly recognize when you have left your device for an extended period. During this period, wakelocks will be minimized. However, you can still continue on receiving higher priority notifications. Needless to say, this does have a tradeoff of not having up to date syncs across...

XDA NEWS
Share This