[Android Q&A, Help & Troubleshooting] patates:
OTA Blocked : Read this !

First, here are OTA files for WW 101, 122, 132, 135 and 138 :

drive.google.com/folderview?id=0B_JkvfrnO7pXOGZXMXRqVzhnTGc

If you have deleted some apk, odex, bloatwares... and update service tells you all the time that your system is up to date and that this is wrong, here is the solution.

To force a OTA update

*:

- Put the DLPKGFILE file (that has the right SKU, WW in this case) in \CACHE folder (you must be root)

- Copy a file "Command" in \CACHE\RECOVERY with the text "--update_package=/cache/dlpkgfile" (without quotes).

- Turn off the tablet, unplug it and turn it on again by pressing and holding Volume Down and Power Button at the same time.

Release power button when ASUS logo appears.

- In the fastboot menu, select RECOVERY, the tablet reboots and starts OTA.

(there is also the possibility to go through the computer with ADB but I will not go into detail here)

*Attention to force an update, it's necessary to put a OTA file whose version is greater than a "notch" compared to the version of your current firmware. Unable to downgrade. If the OTA 138 doesn't load automatically and you are in 135 you can force the OTA 138. Idem, 132 for 135, 122 for 132, 122 for 101. To go from 101 to 138 it must do all one by one.

In my case, OTA (135 -> 138) didn't works because I deleted some bloatwares and ODEX files in \System\App.

When you launch upgrade with method above, If the installation of the update stop and tablet restarts, it does not matter it just means that a file has failed to set up. To find the culprit file, go to \Cache\Recovery and view the log file.

For ODEX and APK files deleted, the solution I found is to recover these files from the last full rom provided by ASUS in September (asus.com/fr/Tablets/ASUS_Transformer_Pad_TF103C/HelpDesk_Download) and patch them manually through a tool with OTA files above : DLPKGFILE is a ZIP FILE, just add zip extension to explore.

OTA updates are extremely light because files are not completely replaced each time, files like "odex.p" (found in DLPKGFILE within each OTA) are "additives" and add information to initial files (Intelligent update). ".p files" are availables in DLPKGFILE(.zip) in "\patch\system\app".

Example :

XXXXX.odex (ww01) is a system file about 1000KB in the original rom

The OTA update (ww02) will include a XXXXX.odex.p file (50kb for example)

After updating the file has been modified XXXXX.odex and make about 1050 kb

Method for missing ODEX files / build.prop changed in \System :

That works on msdos with BSPATCH (available here : daemonology.net/bsdiff)

Example to retrieve/re-create the necessary ODEX file for an app called "XXXXX" :

I put XXXXX.odex (from ASUS full Rom released in september), XXXXX.odex.p file(s) (which is/are located in the OTA file(s)) and BSPATCH.exe in a same folder.

On MSDOS, type : "bspatch XXXXX.odex Newfile.odex XXXXX.odex.p" -> Newfile.odex corresponds to the new XXXXX.odex

which is patched according to your firmware !

If your current firmware is WW-2.2.33.[135] and there is a " XXXXX.odex.p" file in DLPKGFILE v122 and another in DLPKGFILE V132 only: you have to repeat 2 times, it's boring but it works. If there is a XXXXX.odex.p in 122, 132 and 135 you have to repeat operation 3 times. As I recover much of odex files I created a batch.

You must then copy final odex in \system\ app

Method for missing or bad APK files in \System :

The method is similar to that above, but we don't use the PC but android, so use your tab and a Terminal to be able to use function "apply patch".

Rendez-vous in DLPKGFILE(.zip) \META-INF\com\google\android\updater-script.

In the file we see the names of all files to be updated, the MD5 (checksum) ... To recover an APK 100% compatible with ASUS Update, it's pretty simple.

If the install log indicates that the problem is due to PartyRimBinary.apk file (for example), I am looking PartyRimBinary.apk in "updater-script" with Notepad. I see that :

apply_patch("/system/priv-app/PartyRimBinary.apk", "-", 523f74f146ab9a27924d04eafbd4b843f6af720c, 314394, 9a200ad93fc3e29ba7a943e6aabc9921ab6a4e5e, package_extract_file("patch/system/priv-app/PartyRimBinary.apk.p")

I put PartyRimBinary.apk (from ASUS full Rom released in september) on SDCard and PartyRimBinary.apk.p which is located in the OTA file, in Sdcard too.

In a terminal emulator for Android I type "SU" to activate Super User and :

"/system/bin/applypatch "/mnt/sdcard/PartyRimBinary.apk" "-" "523f74f146ab9a27924d04eafbd4b843f6af720c" "314394" 9a200ad93fc3e29ba7a943e6aabc9921ab6a4e5e:/mnt/sdcard/PartyRimBinary.apk.p"

"PartyRimBinary.apk" is now

patched according to your firmware !

Then copy the created APK file in the correct directory (System\App...)

Installer checks the MD5 (checksum) so if an odex created is wrong, installation crash but it's not very serious, the tablet restarts seamlessly with the old parameters. To facilitate the job, you should install a small app for MD5 and SHA checkum on your computer, you could check easily if file is correctly patched. Solid explorer on android give us MD5 but it's the SHA which are indicated in \META-INF\com\google\android\updater-script from OTA.

It took me many hours, but I was finally able to force the update and fix the battery problem without going to a service center. Have a good day and sorry for my english....