Mobile ODIN is the on-device firmware flasher of choice. Just throw those firmware files on your (internal or external) SD card, start Mobile ODIN and flash away.
! Your device must be rooted to be able to use Mobile ODIN. Check the list below to see if your device is supported !
If you use the EverRoot option (Market/Pro version only), Mobile ODIN will root the firmware while you flash it. Checking out that new leaked firmware? No reason to lose root!
All partitions are supported, as are loose files, .tar files and .tar.md5 files. Mobile ODIN will even check the MD5 signatures before flashing. While in theory Mobile ODIN can repartition and flash EFS and bootloaders, it will cowardly refuse to do so, for your own safety.
Currently supported devices:
- Samsung Galaxy S GT-I9000
- Samsung Galaxy S GT-I9000B
- Samsung Galaxy S GT-I9000M
- Samsung Galaxy S GT-I9003
- Samsung Galaxy S GT-I9003L
- Rogers Captivate SGH-I896
- AT&T Captivate SGH-I897
Flashing with Mobile ODIN does NOT increase your custom kernel flash counter or make the yellow warning triangle appear.
! USE AT YOUR OWN RISK !
Aside from my own CF-Root-based flashkernels, Mobile ODIN also uses (with permission) flashkernels built by these users:
- Codeworkx (I777, D710)
- Skin1980 (I9003)
- Kyuta Syoko (I896, I897)
- Psyke83 (I5500)
Attached is the Lite version of Mobile ODIN - this is a release exclusive to XDA and may not be redistributed ! Please note that you also need to download and install a "FlashKernel" manually if you are using the Lite version. These are listed a few posts down from here. The Pro version will automatically download and install these for you when needed.
Flashing with Mobile ODIN is easy. You start off by starting the app. The app will check your system has everything the app needs to continue (like root). The Pro version will download additional packages if needed automatically - so it is advised to have Wi-Fi available - for the Lite version you need to install the right package manually (see the FlashKernels posts a few posts down).
Now you should see the main Mobile ODIN screen. It will list a set of partitions. Clicking a partition will allow you to select a file from your SD card to flash to that partition. Do not worry about selecting the wrong file - Mobile ODIN will not let you. Separate files (named after the partition) as well as .tar and .tar.md5 files are supported. Specific .exe files (Odin3Excutor one-click packages) are also supported.
From the desktop ODIN you may be used to "PDA", "PHONE", and "CSC" buttons. All three of these buttons have been replaced by the "Open file ..." button. This button will open the file you select from the SD card, and find all the partitions it can flash inside that file. So if you select a .tar file containing kernel and modem, the Kernel and Modem partitions will be set up to use that .tar file for flashing. To get the same result as desktop ODIN, use Open file... on .tar files for PDA, PHONE and CSC, in that order.
Now that we have selected what we want to flash, if you have the Pro version you can proceed to the EverRoot section. The EverRoot options allows you to root your firmware while it is being flashed. Never again will you be without root! Select here which apps you want to inject in the firmware that is being flashed.
Now that we are all done selecting partitions and configuring EverRoot, we continue to "Flash firmware". Mobile ODIN will gather all the information it needs and perform the flash. Before starting, however, it will check that your battery level is over 50%, and if applicable offer to verify MD5 checksums on the files you have selected to flash. If all is well, it will reboot into recovery mode, and flash the firmware you have selected.
You can also enable the wipe option. This will wipe both data and cache partition. BEWARE: If you have a device that shares the same space between data and internal sdcard partitions, enabling the wipe option may also wipe the internal sdcard !
Mobile ODIN Pro v3.25 and newer have the ability to flash official OTA ZIPs as well as Update ("CWM") ZIPs (on a technical level, they're the same thing) on most devices that Mobile ODIN has support for, but not all. The new-ish devices are all supported, though.
Mobile ODIN tries to detect if a flashable ZIP will attempt to format one of the partitions, and in light of the known issues (hard-bricking) this may cause on some devices, it will warn you of this fact.
Support for this means you can flash complete custom ROMs, or simple updates (like SuperSU's distribution ZIP file). This doesn't automatically mean all Update ZIPs are compatible. The environment in Mobile ODIN's temporary recovery is slightly different from CWM or TWRP, this can cause problems in some cases.
This functionality was built with official OTA update ZIPs in mind, and specifically to make it easier to flash them. Mobile ODIN performs many checks and can automatically patch the OTA before flashing to get around a number of issues.
Mobile ODIN will attempt to detect if the OTA wants to flash kernels, recoveries, and modems, and if so will compare the signatures to your currently installed kernel, recovery, and modem. Should the comparison fail, it will offer you the choice to disable the check and the patch inside the OTA. This will allow you to flash the OTA without switching away from your current custom kernel or switching to whichever modem the OTA expects. Of course, if you have selected a kernel, recovery, or modem to flash, it will compare against the selected image instead of the currently installed one.
Mobile ODIN will also compare the OTA's fingerprint checks against the current system fingerprint. If the fingerprint does not match, Mobile ODIN will offer you the choice to disable the check inside the OTA. If you have selected a system image to flash, it will try to find out the image's fingerprint instead. It is not generally recommend to patch out the fingerprint, but sometimes it is needed.
It will also go through all the file signature checks inside the OTA, and compare to the current system files. If files are found to differ Mobile ODIN will offer you the choice to disable the checks and patches inside the OTA. When you have the wrong CSC flashed, it is common for a small number of files (30 or so) to differ. These files usually don't really matter for the firmware's operation. Note that this check will not be performed if you have selected a system image to flash - all files must match signatures in that case, or the OTA will fail.
Altogether, this makes Mobile ODIN the easiest way to flash OTAs, as your setup does not need to be absolutely perfect for it to work. Having most of the correct base ROM installed is usually enough!
Important note: While it is certainly possible to flash a lot of partitions (for example a full stock ROM) together with an OTA in one go, this will usually not work. The Cache / CSC partition usually needs an additional reboot to install additional files, but with Mobile ODIN this will only happen after the OTA is installed. The OTA will thus fail because some files are not correct, and the file check mentioned above does not work when you are also flashing the system partition. As such, the advised method is to first flash the full stock ROM (and use EverRoot to inject SuperSU and Mobile ODIN), then after booting up using Mobile ODIN to flash the OTA. I am working on additional code to make this possible in a single go, but it is a few versions away.
The list of devices currently supported by Mobile ODIN is rather short. Not all devices are created equal, and devices need some work to be supported. Currently I am only considering Samsung devices for future support.
At the minimum, I will need some information from you about your device to figure out the partitions, their layout, and how to flash them. You can gather this information by downloading and installing the app. If your device is not supported, it will offer to make a dump file for you. This will take a while. Post the dump file in this thread.
If you can find a .PIT or .OPS file for your device, please attach it !
If the device has an integrated kernel+recovery, an image running CWM5 or 6 is welcome. If separate kernel and recovery partitions are used, I generally need an original recovery.img
If you are lucky, this will allow me to make your device compatible. It may be required that you do some rather lengthy and extensive testing for me.
Force device detection (v3.80 and newer)
For compatibility testing, it is possible to force Mobile ODIN to detect your device as a different device, by executing the following command in adb shell:
am start -a android.intent.action.MAIN -n eu.chainfire.mobileodin.VERSION/eu.chainfire.mobileodin.core.MainActivity --es forcemodel MODEL
Where VERSION is either lite or pro (depending on what you have installed), and MODEL is the device model identifier.
For example, if I were using Mobile ODIN Pro and wanted my device to be detected as an international Note 3 (SM-N9005):
am start -a android.intent.action.MAIN -n eu.chainfire.mobileodin.pro/eu.chainfire.mobileodin.core.MainActivity --es forcemodel SM-N9005
Note that this is dangerous and you should know what you are doing before attempting this. You might brick your device.
Before reporting success, please make sure you succeeded in flashing an entire stock ROM, including modems!
11.11.2012 - v3.55
- Added: ACRA crash reporting
- Added: Generic filesystem warnings if storage's filesystem is unsupported
- Fixed: exFAT support on S3, Note2 and Note10.1 (new flashkernels)
- Fixed: Native code performance
- Fixed: Flicker when AROMA installer is used
- Added: Support for:
--- AT&T/Canada Galaxy Note 2 SGH-I317/M
--- TMOUS Galaxy Note 2 SGH-T889
--- Sprint Galaxy Note 2 SPH-L900
--- US Cellular Galaxy Note 2 SCH-R950
01.11.2012 - v3.50
- Updated: SuperSU v0.97
- Updated: Roboto font is now used during flash
- Fixed: (Pro): Flashcounter no longer triggered on S3, Note2 and Note10.1. But breaks exFAT support! (new flashkernels)
- Added: Warning when somebody selects an exFAT card
- Added: Wipe functionality is now available without having to flash anything
- Added: Support for:
--- Samsung Galaxy S3 LTE GT-I9305T
--- Samsung Galaxy S3 LTE GT-I9305N
31.08.2012 - v3.25
- Updated: SuperSU v0.96
- Fixed: Jelly Bean Mobile ODIN injection with multiple versions installed
- Added: SuperSU Pro is now also injected if installed
- Added: (experimental, selective, partial) Update ZIP and OTA flashing (Pro version only) to most devices. Might sound like a minor change, but this is the single largest code update yet!
- Added: Option to extract ZIP files containing partitions
- Added: Support for:
--- Samsung Galaxy Tab 7.0 Plus GT-P6200L
16.01.2012 - v1.30
- Fixed: Theme
- Fixed: Strange characters in file paths
- Added: Additional file accessability checks
- EverRoot: Fixed some situations where it failed
- EverRoot: Storage warnings added
- FlashKernel: Backed up to SD card instead of /system
- Dump: Various partition information added
30.11.2011 - v1.25
- Fixed nasty flash bug (could corrupt files and cause bootloop). If you've had this problem, please make sure to delete the firmware files from your SD card, and put fresh copies on it from your PC.
28.11.2011 - v1.20
- Added support for:
--- Samsung Galaxy S GT-I9003
--- Samsung Galaxy S GT-I9000B
--- Samsung Galaxy S GT-I9000M
--- Samsung Galaxy S2 GT-I9100T
--- Rogers Captivate SGH-I896
--- AT&T Captivate SGH-I897
--- AT&T Galaxy S2 SGH-I777
--- Sprint Epic 4G Touch SPH-D710
- Dump: added env info
- Dump: added mtdblock info
- Targetfile now checked for existance before partition wipe
- Mounter script integrated into flash script
- ROM Manager API used when needed
- Added support for reading .exe files (Odin3Excution one-click, MD5 skipped)
- CWM Manager inject option hidden if not available
- FlashKernel is now always used if available
- FlashKernels removed from Market.
--- (Lite) link to XDA thread
--- (Pro) automatic download
- Unexpected partition detection (CM/MIUI)
- Additional partition aliases added
16.11.2011 - v1.10
- Added support for: Samsung Galaxy S GT-I9000
- Added support for: Samsung Galaxy Tab 7" GT-P1000
- Fix compatibility issue with CyanogenMod
I9300: Samsung Galaxy S3 GT-I9300 and GT-I9300T and GT-I9308 and SHV-E210S use v6.0 !
I9305: Samsung Galaxy S3 LTE GT-I9305 and GT-I9305T and GT-I9305N use v5.0 !
N7100: Samsung Galaxy Note 2 GT-N7100 and LTE GT-N7105 use v5.0 !
N8000: Samsung Galaxy Note 10.1 GT-N8000 and GT-N8010 and GT-N8013 use v5.0 !
I9505: Samsung Galaxy S4 LTE GT-I9505: use v5 for 4.1/4.2, and v6 for 4.3, v7 for 4.4 on next page!
L720: Sprint Galaxy S4 SPH-L720, v5 for 4.2-, v6 for 4.3+ on next page!
M919: T-Mobile Galaxy S4 SGH-M919, v5 for 4.2-, v6 for 4.3+ on next page!
R970: US Cellular Galaxy S4 SCH-R970, v5 for 4.2-, v6 for 4.3+ on next page!
I337M: Canadia Galaxy S4 SGH-I337M, v5 for 4.2-, v6 for 4.3+ on next page!
Changing the profile of yourdevice manually is now long forgotten. Since the advent of Android automation … more
XDA Developers was founded by developers, for developers. It is now a valuable resource for people who want to make the most of their mobile devices, from customizing the look and feel to adding new functionality. Are you a developer?