It's not often I look at a product or service and say "I really really hope this isn't real, and it's an elaborate fake". Alas, this day has come. It's time for a look at something which cropped up on my radar today, namely a service called FileThis. I won't do them the search-engine-ranking honor of providing a direct link to their site, but a quick search will find them, and their app on the Play Store and iTunes store....
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.
- 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.
- 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.
- It means Verizon users will likely be last to get updates.
- 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!
More and more smartphone manufacturers have been moving towards on-screen buttons, with Google really pushing for it over the physical button alternative. However, there are still a few OEMs (we're looking at you, Samsung) that have preferred to keep things a bit more traditional. Tell us which way you prefer and why.
While there are frequent unexplained changes and pushes to Google's AOSP repositories, an interesting-looking new branch has been pushed out recently, called "master-soong". Taking a look at the changes made to the manifest repository (which is used to specify the repositories to be downloaded when building Android), it appears there are some new repositories making an appearance. Of note here are new prebuilt repositories for Go, and Ninja. Go is a programming language, created by Google, which compiles to produce...