In December 2013, Verizon issued an over-the-air (OTA) update for the Samsung Galaxy S III. The 4.3 update, dubbed "ML1" by the XDA community, introduces Samsung KNOX, a sandboxed Android application environment aimed at business and government customers. Coinciding with the KNOX integration are several changes to the device boot loader firmware. Signing policies are now re-enforced on flashing procedures targeting the boot loader, recovery, and kernel partitions. Attempts to flash the device contents will supposedly trigger a newly exposed eFuse, permanently altering certain hardware circuit paths, thereby signaling expiration of the device's warranty.
Due to a desire by some individuals to downgrade to Android version 4.1, and a prevailing belief that this is now impossible, I will describe below steps on how to flash an older signed system ROM onto a 4.3-installed device.
Warning #1: Despite it being possible to downgrade the system and kernel to official version 4.1, it is not believed possible to downgrade the boot loader without hard-bricking the device.
Warning #2: Flashing the system or kernel image may alter the warranty status, regardless of the image and signature validity. YMMV.
- Heimdall: http://glassechidna.com.au/heimdall/index.html#downloads
- 2.1 OTA: https://docs.google.com/open?id=0BxlypOlBfa_rWlJCTE9MUERVcjQ (alternative link)
- Samsung Galaxy S III USB Drivers: http://www.samsung.com/us/kies/
- Power off the device.
- Remove the USB cable if it is attached.
- Boot the phone into the boot loader menu (also known as "Download mode") by pressing Voldown-Home-Power for 3-5 seconds. Use the Volup button when prompted.
- Install the USB drivers if necessary. Linux users do not need out-of-kernel driver software.
- Install or extract Heimdall.
- Extract the OTA update files.
- Connect the USB cable.
- Open an elevated command prompt or terminal. Windows users should
cd
to the Heimdall directory. - Enter
heimdall flash --BOOT <path-to-ota>/boot.img --SYSTEM <path-to-ota>/system.img.ext4
The phone will reboot automatically. It should now be running on the official Android 4.1 update.
Good luck!
This probably happens because the newer internal user data is incompatible with the Android 4.1 release. Reboot into recovery mode (Volup-Home-Power) and factory-reset the device.
Consider rolling back the radio firmware as well: heimdall flash --MODEM <path-to-ota>/NON-HLOS.bin