Related
From Manups 1.4 on, i was not able to flash any Eclair Rom to my 32B Magic. Now, i could get this done, and i could reproduce my faults. This is now for everyone with fc or Bootloops after applying an Update:
- Wipe data
- Wipe ext
- Wipe dalvik
- repair ext
- reboot (this maybe our fault !)
- flash your rom
- reboot again
-> With this, i can succesfully run Manups 1.5
Thanks to everyone, especially to cyanogen, jac an manup for making us happy !!
Yeah, hope this helps somebody else, too
meisterlampe2000 said:
From Manups 1.4 on, i was not able to flash any Eclair Rom to my 32B Magic. Now, i could get this done, and i could reproduce my faults. This is now for everyone with fc or Bootloops after applying an Update:
- Wipe data
- Wipe ext
- Wipe dalvik
- repair ext
- reboot (this maybe our fault !)
- flash your rom
- reboot again
-> With this, i can succesfully run Manups 1.5
Thanks to everyone, especially to cyanogen, jac an manup for making us happy !!
Yeah, hope this helps somebody else, too
Click to expand...
Click to collapse
i think step 5 is where people get messed up at..i dont see why people get boot loops n cant get past the G-1 screen or anything..
meisterlampe2000 said:
From Manups 1.4 on, i was not able to flash any Eclair Rom to my 32B Magic. Now, i could get this done, and i could reproduce my faults. This is now for everyone with fc or Bootloops after applying an Update:
- Wipe data
- Wipe ext
- Wipe dalvik
- repair ext
- reboot (this maybe our fault !)
- flash your rom
- reboot again
-> With this, i can succesfully run Manups 1.5
Thanks to everyone, especially to cyanogen, jac an manup for making us happy !!
Yeah, hope this helps somebody else, too
Click to expand...
Click to collapse
Those are the steps i follow when i flash any rom, (except if its an upgrade of the same rom), and i have never had a bootloop or anything like that...
MY steps are like your but I wipe data a second time after the first reboot and like other have said I have never run into boot loops
- Wipe data
- Wipe ext
- Wipe dalvik
- repair ext
- reboot (this maybe our fault !)
- Wipe data
- flash your rom
- reboot again
In most cases, rom dev's post in their OP instructions for upgrading their line of Roms or upgrading from another rom. So in that regards, this thread is useless, but none the less important for new comers.
Yeah of course they do !
But have a look at all those Threads...Almost one third of all questions is about fc or Bootloops... I just want to make clear that it really works, when do it right. I was also confused because i just did not read the right lines. Maybe a Thread about "wipes" is justified - If some people can get helped out by that !
If you have apps2sd isn't your dalvik cache on ext already, so when you wipe ext you are wiping dalvik too, correct?
meisterlampe2000 said:
From Manups 1.4 on, i was not able to flash any Eclair Rom to my 32B Magic. Now, i could get this done, and i could reproduce my faults. This is now for everyone with fc or Bootloops after applying an Update:
- Wipe data
- Wipe ext
- Wipe dalvik
- repair ext
- reboot (this maybe our fault !)
- flash your rom
- reboot again
-> With this, i can succesfully run Manups 1.5
Thanks to everyone, especially to cyanogen, jac an manup for making us happy !!
Yeah, hope this helps somebody else, too
Click to expand...
Click to collapse
Thanks for the tips, but I never have boot loop. I perform steps 1-3, then flash rom. No reboot, nothing! Then again, I have a G1. I think this was meant for MT3G devices.
Code:
I//system/xbin/busybox( 47): +++ "This is your world, these are your people. Y
ou can live for yourself today, or help build tomorrow for everyone."
I//system/xbin/busybox( 47): +++ Welcome to Android 2.1 / Manup456_ECLAIR_ERD7
9
I//system/xbin/busybox( 47): e2fsck 1.41.6 (30-May-2009)
I//system/xbin/busybox( 47): ext2fs_check_if_mount: Can't check if filesystem
is mounted due to missing mtab file while determining whether /dev/block/mmcblk0
p2 is mounted.
I//system/xbin/busybox( 47): /dev/block/mmcblk0p2: clean, 11/249856 files, 396
09/499300 blocks
I//system/xbin/busybox( 47): cp: cannot stat '/data/app-private/*': No such fi
le or directory
I//system/xbin/busybox( 47): cp: cannot stat '/data/dalvik-cache/*': No such f
ile or directory
I/DEBUG ( 140): debuggerd: Nov 20 2009 10:17:15
I/vold ( 139): Android Volume Daemon version 2.0
D/AKMD ( 148): akmd 1.6.6 START
D/AKMD ( 148): library version: 1.2.1.1129
I/vold ( 139): New MMC card 'SU04G' (serial 2420584359) added @ /devices/pla
tform/msm_sdcc.2/mmc_host/mmc1/mmc1:aaaa
I/vold ( 139): Disk (blkdev 179:0), 7744512 secs (3781 MB) 3 partitions
I/vold ( 139): New blkdev 179.0 on media SU04G, media path /devices/platform
/msm_sdcc.2/mmc_host/mmc1/mmc1:aaaa, Dpp 3
I/vold ( 139): Partition (blkdev 179:1), 6682977 secs (3263 MB) type 0xc
I/vold ( 139): New blkdev 179.1 on media SU04G, media path /devices/platform
/msm_sdcc.2/mmc_host/mmc1/mmc1:aaaa, Dpp 2
I/vold ( 139): Partition (blkdev 179:2), 998601 secs (487 MB) type 0x83
I/vold ( 139): New blkdev 179.2 on media SU04G, media path /devices/platform
/msm_sdcc.2/mmc_host/mmc1/mmc1:aaaa, Dpp 1
I/vold ( 139): Partition (blkdev 179:3), 62871 secs (30 MB) type 0x82
I/vold ( 139): New blkdev 179.3 on media SU04G, media path /devices/platform
/msm_sdcc.2/mmc_host/mmc1/mmc1:aaaa, Dpp 0
I/vold ( 139): Evaluating dev '/devices/platform/msm_sdcc.2/mmc_host/mmc1/mm
c1:aaaa/block/mmcblk0' for mountable filesystems for '/sdcard'
I/vold ( 139): Aborting start of /sdcard (bootstrap = 1)
I/vold ( 139): Volmgr not ready to handle device
D/vold ( 139): Bootstrapping complete
I//system/xbin/busybox( 47): Setting up swapspace version 1, size = 32185856 b
ytes
I//system/xbin/busybox( 47): UUID=89298fcc-2d7e-4440-b962-646ec1c0891d
I//system/xbin/busybox( 47): --- Enabling compcache
I//system/xbin/busybox( 47): Failed to open /dev/block/ramzswap0: No such file
or directory
I//system/xbin/busybox( 47): swapon: can't stat '/dev/block/ramzswap0': No suc
h file or directory
I//system/xbin/busybox( 47): run-parts: /system/etc/init.d/06compcache exited
with code 1
I/logwrapper( 47): /system/xbin/busybox terminated by exit(1)
Trying the steps that were mentioned in the original post, and I still get the errors listed above. I have a 4 gig SD card, partitioned as FAT/EXT/Swap....for the life of me I can not figure out what is going on. I have repartitioned and all, to no avail.
That's all mostly unnecessary. Simplest explanation is that you guys are doing it wrong. Most roms take care of the formatting if it's necessary, more often than not it's not. Often, the culprit will be a poor (as if the "better" one is better... ) a2sd implementation that causes conflicts when mounting and linking the partitions. Most often, it will be just a matter of removing the links and creating new ones.
If you really feel you must wipe (really, it's not necessary), then just do a factory reset (does both /data and /cache (erasing all /app, /app-private, /dalvik-cache and /lost+found in the process)) and wipe the ext (which also erases all /app, /app-private, /dalvik-cache and /lost+found but in the ext partition). That's all that's needed, the rom does the rest.
OP u r an idiot this is for developers not noobs who trying to make something out of themselves, this **** should've been in general or actually not even exist.
If you think there is no need for this, you have to ban all the new Android user that don´t have any clue about what this "wipe" is about...
Almost every developer says, "do a wipe first", and in every thread is somebody having problems with that. I just wanted to tell how it worked for me after a long time of nothing...
[GUIDE/HOW-TO] Beginner's "Getting Started" Guide :: Root, Recovery, Roms etc
Update: Links are dead, mediafire decided to pull them without any notice. However, all important files can be found on my DevHost Account
This guide is made to help newbies get started on the basic customizations they can do to their Galaxy Fit, and with minimum possible risk of bricking it. Plus, recent update will help users to move on from being android newbies to experienced users.
Before you think of posting as ‘copied’, I want to inform you that more than 90% of the guide has been typed by me, using my own experiences with my Galaxy Fit, and has not been simply copy-pasted from anywhere.
Note: Even though care is taken to help you minimize risk of bricking your phone,
no one, except yourself, is responsible for any damage that happens to your phone.
Also, doing most of the modifications below WILL void your warranty.
Do not quote the entire post!
Quote only the part where you are facing problems...
If you completely quote the posts by me, I will not help, since I can safely assume that you are not following instructions as stated.
And do NOT pm me asking help, with regards to this thread...I will not help you there!
If you have questions/problems, ask here...I'll try my best to help you here!
Topics covered in this guide:
Most stuff related to Rooting
Backing up data using Titanium Backup Pro
Installing Stock Roms
Installing Custom Recovery
Installing Custom Roms (Continued in second post)
Creating and Deleting Sd-card Partition
Setting up and using Link2sd
Installing apk’s through “Root Explorer” method
Nandroid Backups (Continued in third post)
Overclocking
Bricked Galaxy Fit
Bootloops (Continued in fourth post)
How to reclaim warranty?
Battery Care
Android Debugging Bridge (In fifth post)
Logcats (In sixth post)
Pre-requisites:
Before you proceed, you need to have the following things ready with you:
Samsung Galaxy Fit S5670 (obviously)
Windows PC (Xp, Vista, 7)
Usb Data Cable
Samsung Usb Drivers installed on your computer (Download)
Usb Debugging Enabled (Enable it from Settings> Applications> Development> Usb Debugging)
A minimum of 50% Battery left for use
Knowledge on how to use a windows pc (optional, but recommended )
A calm mind, and plenty of patience.
Also, remember this:
a.To reboot into “recovery mode”, first shutdown your phone completely, then press and hold power + home button and wait for phone to switch on.
b.To reboot into “download mode”, first shutdown your phone completely, then press and hold power + home + volume down button and wait till phone switches on (you’ll get a yellow triangle with an android inside it, with the word “Downloading” written under it)
Edit: Since a proper "route" to installing custom roms isn't very clear, I'll just add this:-
Let's say you have a stock froyo rom, and want to try some custom rom, then
[OPTIONAL] Root Froyo, if you wish.
Then, you update to Gingerbread.
[OPTIONAL] Root GB, if you wish.
Install ClockworkMod Recovery
Then finally, install the custom rom of your choice.
Hope the "path" is now clearer
1. Rooting
Q) What is “rooting”? What are its advantages and disadvantages?
A) “Rooting” your device means obtaining “superuser” rights and permissions to your Android’s software. With these elevated user privileges, you gain the ability to load custom software (ROM’s), install custom themes, increase performance, increase battery life, and the ability to install software that would otherwise cost extra money (ex: Wi-Fi tethering). Rooting is essentially “hacking” your Android device.
For more info, refer Source
Though, one thing worth mentioning, YOU DO NOT NEED TO BE ROOTED IN ORDER TO INSTALL ANY CUSTOM ROM OR RECOVERY, it is optional but recommended…
People usually root beforehand as it helps them to backup their data…and you won't be able to root after you install a custom recovery, since the scripts are made only for stock Samsung recovery
Q) Okay, now how do I root my Galaxy Fit?
A)
If you are running Froyo (android version 2.2.1), then:
Download SuperOneClick (Source Link)
Make sure your phone is connected to the computer via USB, AND your SD card is NOT mounted.
Run the app
When SuperOneClick launches, you’ll see several large buttons at the top of the screen. Make sure that the debugger can “see” it (activity will start logging).
Click “Root” in SuperOneClick.
If you are running Gingerbread (android version 2.3.x), then:
Download this update.zip file (Link)
Place it on the root of sd card (root here meaning “home directory” of your micro-sd card, i.e. the first folder which you get when you open any file explorer)
Make sure the file’s name is “update.zip” (without the “”)
Now reboot into recovery mode
Select the option: “Apply update.zip”
Wait for it to complete, and you are done!
After you have successfully rooted, you will find an app named “Superuser” in your application menu. If not, you can download it from Play Store.
Also, it is advisable to update the app (as well as the superuser binaries, option present in-app) to the latest version available.
Q) How do I unroot my g-fit?
A) There might be various reasons why you would want to unroot your fit (the main one being to recover/reclaim your warranty)
For unrooting (in Froyo), just run SuperOneClick again, and click option “Unroot”.
For unrooting (in GB), you have a few ways: one is a sure-shot way (install/flash stock rom), another works for some and doesn’t work for some (update.zip), and one more is false un-root.
1.Sure-shot way: This method will work all the time, i.e. you will be able to unroot successfully with this method. All you’ve got to do is flash a stock rom, and you will be back to factory settings (and even get your warranty back)
2.Update.zip method: This method worked for some users, and didn’t work for some. In this, you just need to download this file, rename it to “update.zip” and install it the same way as you did to root, i.e. reboot into recovery and apply update.zip
3.False un-root: This isn’t actually unrooting, but is a little trick I used to get my warranty back.
1. First download and install Audio Manager aka Hide It Pro
2. Then use it to hide all your root-related apps (like superuser, titanium backup etc.), and done!
Note: The false un-root method isn’t actually un-rooting, as anyone with enough android knowledge will be able to tell that you still retain root access. The method only hides the notifications that you receive from superuser, when any app is requesting root access. Exercise caution when using this method, as all apps can have root access, and you wouldn’t even come to know about it.
2. Backing up data using Titanium Backup Pro
Since you don’t need to have root access in order to install any custom recovery/rom, hence one of the major reason left to root is to backup your phone settings and data.
You can find plenty of apps on Play Store which can backup AND restore your data, but barely any other app can do it better than Titanium Backup. The free version also does quite a lot of stuff, but in this guide I’ll be explaining how to use the pro-version (v4.8.2), including how to do one-click backup as well as restore, and scheduling backups to run at a pre-defined time automatically.
First, install Titanium Backup Pro
Then, run the app.
(I recommend going through the app settings so that you can tweak it according to your preference)
Now, you can either backup apps (and their data) one-by-one or just backup all of them at once. In order to backup all of them at once, run the app, press menu button > batch > choose option “backup all apps + system data”, and then wait for the backup process to get over.
To restore backups after a data reset, run the app, press menu button > batch > choose option “restore missing app + all system data”.
Note #1: Restore all system data only if you are doing a data wipe. If you have flashed a new ROM altogether, then do not restore system data, only restore missing apps + data, else you will get force closes.
Note #2: Titanium backup automatically store its preferences/settings on your sd-card, and auto restores them after a wipe, so you do not need to bother about it again.
To set-up schedules, run the app, and then go to the “schedules” pane/tab, and then select the ones which were pre-set, or create new ones according to your need.
Titanium Backup has other uses as well (which you can find on your own), but the main important ones have been covered.
Note #3: Use some other app to backup and restore your contacts/call logs/messages...
I use GO Backup or sometimes, MyPhoneExplorer...
3. Installing Stock Roms
First, download the stock rom of your choice from samfirmware.com
Then download beni.ops and Odin Multidownloader
Remove the sim card and memory card of your phone, and put it in download mode
Next, run Odin, and connect your phone to your windows computer. Odin should respond as detected. Then, select “Ops” as beni.ops. (Doing this would disable all other fields except “One Package”)
After this, select your desired stock rom in “One Package”.
Do not alter any other option other than those mentioned, let them remain as they are.
Make sure that the color of “COM PORT MAPPING” is yellow, and then click “Start”.
Odin will start giving different responses, and the timer in Odin would also start…now all you have to do is wait till Odin completes flashing (You will get a message “Pass”, usually within 10 minutes)
Note: Do not disconnect you phone while the process is on, and till you get that “Pass” message.
After this, it is optional but advised that you reboot into recovery mode and wipe data, otherwise you *may* face bootloops.
4. Installing Custom Recovery
Q) I already have stock Samsung recovery. Why do I need a different recovery for?
A) The stock Samsung recovery has a very limited functionality, while other recoveries offer various other functions, and support other (better) filesystems also.
Also, to install any custom rom, you will need a custom recovery.
The most popular and commonly used recovery for Galaxy Fit is ClockworkMod Recovery v5 built by tj_style.
This recovery works with all custom roms, but it does not support backing up and restoring (Nandroid Backups) of stock roms (since samsung stock roms are of rfs filesystem).
Hence, you CAN install this recovery on stock roms, but you won’t be able to take (and restore) nandroid backups of stock roms.
However, pratyush.creed has modified this cwm5 to support backups of rfs (i.e. stock roms), you can get this from here
But for this guide, we will stick to the popular, tried and tested, cwm5 by tj_styles
Your phone needs to be on gingerbread, as this recovery doesn’t work on Froyo.
Note: Even though rooting is not required for installing CWM, it is recommended to do so before, since you can root only from stock recovery, and CWM replaces the stock Samsung recovery.
To install this recovery:
Download the recovery file from the above link.
Also, download beni.ops and Odin Multidownloader
(Beni.ops and Odin are the same files used, so you don’t need to download them again)
Next, run Odin, and connect your phone to your windows computer. Odin should respond as detected. Then, select “Ops” as beni.ops.
Select the recovery file under “One Package”.
Do not alter any other option other than those mentioned, let them remain as they are.
Click “Start”.
Wait till odin completes flashing (might take upto 10 minutes)
Now, after your device has rebooted, restart into recovery mode to confirm that you have successfully installed ClockworkMod Recovery (CWM).
5. Installing Custom Roms
Though Samsung has possibly tried its best to create the best stock roms (compared to other manufacturers), it still has a lot of potential. Custom roms are made to achieve this potential, helping you get more returns from your Fit.
Q) How to install custom roms?
A) Before proceeding, you will need to have any custom recovery installed, since the stock Samsung recovery cannot be used here. Preferably, use CWM5 by tj_style (the one explained above). Also, remember that your phone’s data (not the one stored on sd-card) will be erased/reset, so be sure to make a backup.
Now, download the custom rom of your choice from the Development Section of our sub-forum.
Optional: Check if the zip file you have downloaded is proper (i.e. not corrupt).
To do this, simply use WinZip (Windows) or other similar program to extract the file on your desktop. If the extraction has completed without any errors, then the file is proper, but if you get any errors while extracting, then the file is corrupt and you will have to re-download it.
Now, copy the file onto your sd-card.
Reboot into recovery mode.
Select “wipe data / reset”.
After this completes, select “wipe cache partition”.
After this, select “advanced”>”wipe dalvik cache”.
Now that you have wiped all data, select “install zip from sd” from the main recovery menu, then “choose zip from sdcard”.
[*] Optional, but recommended: Select “mounts and storage”>”format /system”.
(Important, if you are installing any variation of CyanogenMod 7 (cm7) for the first time, or are moving from a stock based custom rom to a cm based custom rom...else you will be stuck on the "android" text screen)
Now select the custom rom that you had placed on your card, and wait for it to install.
Optional: When the install completes, wipe data, cache and dalvik cache again (steps 5,6,7)
Select “reboot system now”, and be prepared to wait till the phone restarts. (Note: first boot may take upto 10 minutes, so do not panic)
Enjoy your new rom!!!
If you want to get back to your stock rom, you will have to flash the stock rom using Odin.
Also, all custom roms are pre-rooted, so you don’t have to bother with rooting again (though you might have to update superuser and its binaries)
For your first custom ROM, I would suggest sticking to stock based custom roms...
Some sim cards aren't compatible for CM7 and CM9/10 (cm = short for CyanogenMod)...we don't know the cause and effect relationship between them, as of yet...
So, if your CM doesn't boot into the homescreen, try removing your sim card...
If it then boots up without any additional steps required, then unfortunately, you belong to the group of people who can't use CM7 with their current SIM...
The only workaround available are:
Use phone without SIM (unrealistic, since it wouldn't do the primary functions of a phone then)
Change your SIM card
Use stock based custom rom's, and forgo CM entirely
6. Creating and Deleting Sd-card Partition
Partitioning sd-card is basically virtually “dividing” your sd card into parts, so that you can use each one separately for different purposes.
So, in easy words, you can virtually increase your phone’s internal memory and ram (both of which are unsatisfactorily low in our device)
However, there is a disadvantage to partitioning, mainly a slightly slowed phone. This “slowdown” is caused mostly if you:
Have a low-speed (technical word = “class”) sd card
Have moved dalvik cache to sd partition that you have created
Have attempted to use a swap partition
But a lot of people don’t mind this slowdown a lot, since a partition allows them to have access to more apps.
Also, you will lose hot-swapability, i.e. you won’t be able to remove your card from your phone, will the phone is running.
Before you proceed, you SHOULD backup all of your data on your card since it will be deleted, as the card will be formatted during the process.
Q) How to create a sd partition?
A) You will need
• A good micro sd-card, with a class greater than 4
(the class is usually printed on the card itself, it’s the number inside the letter ‘C’)
• A rooted galaxy fit running android 2.3.x (preferably on a stock rom), with ClockworkMod recovery
Steps:
Backup all your data.
Reboot into CWM.
Go under “advanced”>”partition sd card”.
Select the size of your second partition (On my first try, I made a partition of 1024MB but found it too big with a lot of space unused, so I deleted the partition and made a new one of 512MB)
This is your choice, choose one depending on the total size of your card, the no. of apps/games you’ll have etc.
After selecting that, select swap size as 0MB (This one also is your choice, but I’ll explain why to take 0MB, and not anything else)
Now wait till the process is completed, and reboot.
As far as I know, CWM v5 makes a partition of EXT3 format, by default.
Q) Why to select swap size as 0MB?
A) Swap partition is made with the objective of utilizing it as VIRTUAL RAM. Now this may sound as a good thing, but in reality the ram in our fit is way faster than the average class 10 micro sd-card. So, instead of speeding up your system, it will slow down your system horribly after a certain point.
So, in short, you shouldn’t be using a swap partition, hence there is no point in creating one if you are not utilizing it.
You are still free to create a swap partition, but I shall not be providing support for that in this thread.
Q) What if I want to delete all my partitions and get back my sd card the way it was?
A) There are a few ways to delete your partitions and reset your card, and I’ll explain the easiest one.
Backup the data on your card.
Make sure your card is in the phone’s card slot, and that your phone is booted/running.
Go into Settings>Storage, then select option “Unmount sd card”
When the card is unmounted, you will be able to select the option “Format sd card” (which you previously couldn’t)
Select the option and wait for it to complete.
If you want to delete the ext partition, I recommend doing it after a clean install of a stock rom. Else, make sure to move all your apps from the ext partition to your phone.
7. Setting up and using Link2sd
Now that you have created an ext partition, you need to make use of it (duh).
There are a lot of ways and scripts to transfer apps from your internal memory to the sd ext partition, but the most consistent method I found was Link2sd.
This method works across all roms (rooted stock and custom, both) that I’ve tried, even on all variations of CyanogenMod7 (CM7) as well as on ICS CM9 and JB CM10, and is very easy to setup and use.
However, if a custom rom already has DarkTremor's a2sd (a2sdgui app will be present) or any similar script, then DO NOT configure them.
For example: Creeds v3 has a2sdgui, and if i want to use Link2sd, then after flashing Creeds, I SHOULD NOT run a2sdgui, and directly install (and configure) Link2sd...if you run/configure a2sdgui, then it will clash with the working of Link2sd.
Similarly, if any custom rom has any memory hack already implemented, then you cannot use Link2sd...
Steps to setup Link2sd:
Download Link2sd from Play Store (it’s a free app).
After it gets installed, run it, and allow root access.
You will get a message to select the format of your sd partition, select “ext3”.
Link2sd will then automatically create mount scripts that it requires to work, and will then tell you to reboot your phone.
Do a proper reboot, and not a ‘hot reboot’.
After rebooting, open up Link2sd, press menu then select “settings”.
Select/check the options “automatically link newly installed applications to sd”, “auto link notification”, “relink lib files at boot” (and “fast scroll”, if you want).
For “install location” option, select “internal”.
Then go to “auto link settings” and select/check all the three options (you can skip/ unselect “link dalvik-cache file” if you wish)
Done
Now, every new app that you will install will automatically be moved to your sd ext partition.
Link2sd is also an excellent (and fast loading) app manager, with which you can freeze, uninstall, re-install…though you can move only user apps to sd-ext partition.
Also, there is no point in having your entire phone memory empty, so you probably should unlink the dex (dalvik cache) of your apps. I usually link only the apk and lib files, and leave the dex files unlinked and on the phone storage, so as to avoid any sluggishness in operation., though if your phone memory still fills up, you can link the dex of your rarely-used apps, and leave the dex of important and frequently used apps on the phone storage.
Suppose a custom rom has s2e/app2sd pre-implemented, then after a fresh install, FREEZE the app (rather than uninstall), and then install Link2sd...
Also, if you get error "mount script not created", then choose partition as ext4 (rather than ext3 mentioned below), even though your partition might be ext3...(don't know why this happens with some roms )
If on some ROM, you get “device/resource busy”, then you need to format your SD-EXT partition from CWM (should be under “mounts and storage”)
[DO NOT confuse this with deleting and re-creating a partition]
8. Installing apk’s through root explorer method.
At times, some of your apk files won’t get installed in the normal way, so you can use this approach to install them. This method is coomonly referred to as "root explorer method".
For this, you will need:
•A rooted phone
•Root Explorer or any other file manager.
Since root explorer isn’t a free app, you can use this free File Manager (my personal preference).
If you are unable to uninstall a newer version of any app, then first uninstall the old version, and then use this method.
Steps:
Get the apk file of the app that you want to install.
Now launch Root Explorer
On the top left side, it will be written as “Mount as r/w”, click that, and allow root access. (basically mount system as read and write, if you are using other file managers)
Now place the apk file at either /data/app or /system/app (if you want it as a system file)
Now set appropriate permissions (For /data/app, the default permissions are rwx rwx rwx and for /system/app, the default permissions are rw- r-- r--)
Reboot your phone, and then check your app drawer, you will find your app installed.
12. Bootloops:
If you have flashed any custom rom/recovery/hack/kernel/update.zip, and unfortunately, have got stuck in a bootloop (i.e. you cannot reach the app launcher as the phone keeps rebooting again and again), then before asking for help, do try wiping data, cache, and dalvik cache from recovery mode...
This should stop bootloops (in lots of cases)...
13. How to reclaim warranty?
Let's just say you need your warranty back for some reason...but have done any of the above stuff (which voids your warranty)...
Then all you got to do is flash any stock rom (preferably, of your region), and you will have your warranty back
(This, ofcourse, assumes that you had warranty, in the first place)
14. Battery care
A lot of people have said that their battery has swollen. If this is the case, then this could be dangerous for YOUR HEALTH.
If this happens, you SHOULD replace your battery.
Q) Why would the battery swell up?
A) My phone's battery looks safe enough, so I do not know the perfect cause. But from the users who complained about this, I did notice that most of them just leave their phones plugged in, unattended, for more than 4-5 hours at end (Usually, they just leave it to charge overnight)
So, if you do this on a regular basis, then watch out!
Q) How do I know if its swollen?
A) To know if its swollen, just see if the battery surface is smooth or not, from all the sides. If there is any swelling, you will notice it.
Also, if you get REALLY POOR battery life, (only 3-4 on single full charge, with light usage), then this could be an indication that you have battery problems. [Just to confirm, ask other fellow users how much usage they get on that rom and baseband, since this could happen due to ROM and kernel also.]
Q) What do I do if it's swollen?
A) There is no other option but to replace the battery with a new one. I STRONGLY ADVICE to buy them from your local Samsung Service Center. Avoid online sellers, or other 3rd party batteries, as they may not be proper.
Q) Any precautions that can be taken?
A) Yup, DO NOT LEAVE YOUR PHONE TO CHARGE FOR LONG PERIODS, ALL THE TIME.
That's what has been deduced from the people who have complained.
Take Care!!
9. Nandroid Backups
Q) What are Nandroid Backups?
A) Nandroid Backups are like an exact copy image of your phone’s state, saved on your sd card. It stores all your apps, data, settings, sd-ext etc. of the phone (obviously, the state when you took the backup). Nandroid Backups are a very convenient way to restore your data after something has gone wrong (or want to change between roms), and their size can be anywhere starting from 150mb+.
If you want to test some stuff from the development section (like different mods/hacks/scripts), it is advisable to make a Nandroid Backup before you proceed...
Q) How to make Nandroid Backups?
A) Perquisites to make a nandroid backup:
•ClockworkMod Recovery (any version) on your galaxy fit.
•Plenty of free space on your sd card (this depends on how many apps you have, my backups usually average around 450-500 MB)
Steps:
Do a clean reboot into ClockworkMod Recovery (i.e. shutdown properly, then reboot into recovery mode)
Go to “backup and restore”>”backup”
Wait for the process to get completed, and you are done!
The backup that you just made has been saved to your sd-card, in a folder named clockworkmod (complete location is /mnt/sdcard/clockworkmod/backup).
Restoring:
Now, suppose, while flashing any rom, you are stuck in a never-ending bootloop, and you have wiped everything (i.e. data, cache, dalvik cache), and just want to get back the way it was, then just follow these steps to restore:
Boot into CWM
Wipe data, cache, and dalvik cache (optional, but recommended).
Go to “backup and restore”>”restore”, and then select your backup.
Wait for it to complete (time taken depends on the size of your backup, which in turn depends on the number of apps that you had installed), and reboot
You will find that you are now back to last state before you did that backup, with all your apps, settings etc. the way it was left.
If you keep more than one nandroid backup, you may find it confusing to remember which one is what…
So you can rename them in the following way:
Suppose the default name of my backup of a cm7 rom is 2012-03-29.14.04.59 , then I can rename it as cm72012-03-29.14.04.59
In this way, if you ever get a md5 mismatch error while restoring, then you can simply edit it back to the way it was.
However, if you still get an md5 mismatch error, then you can use this method suggested by fellow xda member, arhant. Though if the backup wasn’t created by you (i.e. you took it from someone else), then exercise caution while doing this.
10. Overclocking
Q) What is overclocking?
A) Overclocking refers to running your processor above the “safe” limit set by Samsung (or the manufacturer, in general). This limit is usually set so that the battery life is extended, less overheating problems occur as well as minimum possible damage is done to the processor in the long run.
Why to overclock:
Helps make Fit more “usable”, i.e. makes launcher smooth, games a little less laggy etc.
Why not to overclock (Most of this happens only if you don’t overclock properly):
Poor battery life
Abnormal heating of the phone
Increased instability
Q) How to overclock (oc) Galaxy Fit?
A) In order to overclock Galaxy Fit, you need to have a custom kernel, as the stock kernel doesn’t support overclocking, as well as root access.
Note: Stock roms can be overclocked! They just need another kernel, the in-built kernel cannot be overclocked.
• If you want to overclock on stock (at your own risk), you can flash any kernel from this via cwm (so, obviously you need cwm, stock recovery won’t do).
• Most custom roms have oc kernel in-built, so you usually don’t need to flash anything extra.
After you have a custom overclock-able kernel, you just need to install either No-frills CPU Control or SetCPU for Root Users (No-frills is free ) or any other such app, run them, and select the desired max frequency, governor, and i/o scheduler. (Don’t set the max frequency above 800+ mhz, unless you know what you are doing)
You have to use trial-and-error to find out the combination of governor, i/o scheduler, and max frequency, which suits your need…and you will get different results on different kernels, roms and basebands, so keep experimenting.
11. Bricked phone
Q) What do you mean by a "bricked" phone??
A) A "bricked" phone is a phone which cannot start normally, AND cannot be rebooted into both, the recovery mode as well as the download mode...thus, effectively, it becomes just a paperweight, i.e. a brick
It is more of a "state" your phone can go into, if you do things wrong...
If your phone can enter recovery mode OR download mode, then it is not bricked!
You can try and fix it yourself!
If your phone can enter recovery mode, (and assuming you have a custom recovery installed), then you simply have to flash any custom rom to get your phone back in working condition.
If your phone can enter download mode, then you can install any stock rom (via odin), to get back your phone in working condition.
Note: These solutions are general in nature, i.e. they will work for the majority of cases, but may not work for some.
HOWEVER, IF YOUR PHONE IS BRICKED,
Then there is nothing much that we can do...only the samsng service center will be able to repair it (they replace the motherboard).
15. Android Debugging Bridge (ADB)
To put it simply, adb is two different applications - one running on your computer (Windows, Linux or Mac) and one running on your phone (which you don’t have to bother about). When your phone is connected, and USB debugging is enabled, you can issue commands and communicate with the phone using your computer screen and keyboard.
Your Android phone uses a modified Linux kernel and tools as a base. This means that quite a few Linux commands can be sent via the adb server (the one running on your computer) to the adb client (the one running on your phone) and they will be executed. – Android CentralQ) How do I setup ADB on my Windows PC?
A) With the help of my friend wilfredcool007, I have made a really simple method to use adb and also provided some tools for hassle-free logcats. This method is portable in nature (you do not have to install any untrusted application), does not need large downloads, neither the full Android SDK installation. You will just have to download a small compressed file, which is all that you require.
Thank You Wilfred!
Make sure you have the device drivers installed beforehand. If you have been following this guide since the beginning, you will have it on your computer. If not, just simply refer the beginning of this thread.
Steps:
Download this file: ADB & Logcat Tools.zip
Extract the .zip file to any suitable location, wherever you wish. I extracted it on to C:\Android Debugging Bridge just so that it’s easy to remember where it is.
Now, once you’ve extracted the zip, you will find 7 files in it [of which the 3 files named as “Logcat xxxxxx”, and “dmesg”, will be used in the later part of this guide for making logcats].
To launch ADB, just hold the “Shift” key and right click on a blank area in the folder, and in the drop down menu which follows, select the option “Open Command Window Here”.
And you’re done! Now you can use any of the adb commands that you wish! It really is this simple!
Some common ADB commands are:
Code:
adb devices – list all connected devices
adb push <local> <remote> – copy file/dir to device
adb pull <remote> [<local>] – copy file/dir from device
adb sync [ <directory> ] – copy host->device only if changed
adb shell – run remote shell interactively
adb shell <command> – run remote shell command
adb emu <command> – run emulator console command
adb logcat [ <filter-spec> ] – View device log
adb forward <local> <remote> – forward socket connections forward specs are one of: tcp:<port>
localabstract:<unix domain socket name>
localreserved:<unix domain socket name>
localfilesystem:<unix domain socket name>
dev:<character device name>
jdwp:<process pid> (remote only)
adb jdwp – list PIDs of processes hosting a JDWP transport
adb install [-l] [-r] [-s] <file> – push this package file to the device and install it
adb uninstall [-k] <package> – remove this app package from the device (‘-k’ means keep the data and cache directories)
adb bugreport – return all information from the device that should be included in a bug report.
adb help – show this help message
adb version – show version num
adb wait-for-device – block until device is online
adb start-server – ensure that there is a server running
adb kill-server – kill the server if it is running
adb get-state – prints: offline | bootloader | device
adb get-serialno – prints: <serial-number>
adb status-window – continuously print device status for a specified device
adb remount – remounts the /system partition on the device read-write
adb reboot [bootloader|recovery] – reboots the device, optionally into the bootloader or recovery program
adb reboot-bootloader – reboots the device into the bootloader
adb root – restarts the adbd daemon with root permissions
adb usb – restarts the adbd daemon listening on USB
More information regarding some common ones will come soon.
You can also refer Google’s Official Page too.
16. Logcats
A lot of time, you'll see developers asking for logcat. Viewing a logcat is usually the best, and in some cases, the only way to diagnose a problem.
You can do it two ways:
Within the device, through apps like aLogcat or Catlog or any other application that is capable of logging (This is self explanatory, all you got to do is download and run the app, and the app will do the work. Do check out the options to tweak out the settings and other stuff. I shall not be providing help for these in this thread.)
With ADB (explained further)
Thanks to the zip provided in the previous step, it’s really easy to do so via adb.
Steps:
If you haven’t downloaded it already, do download the ADB & Logcat Tools.zip (it’s the same file mentioned above) and extract it to a suitable location.
You have two options now.
You can either run adb as explained above and use the command
Code:
adb logcat >logcat.txt
There will be no further activity on the screen, but the logging will start. Recreate the problem that you wanted, and when you need to stop the logcat, just press “Ctrl” + “C” [Hold Ctrl and press C], and then press “Y” and “Enter” key to stop logging.
You will notice that a file named logcat.txt has appeared, and when you open the file in Notepad, you shall see its contents.
Example:
Code:
--------- beginning of /dev/log/system
I/ActivityManager( 1019): Starting: Intent { flg=0x14000000 cmp=com.whatsapp/.Conversation (has extras) } from pid 18867
D/VoldCmdListener( 891): volume shared /mnt/sdcard ums W/ActivityManager( 1019): Activity pause timeout for HistoryRecord{405690f0 com.whatsapp/.Conversation}
D/VoldCmdListener( 891): volume shared /mnt/sdcard ums
I/ActivityManager( 1019): Starting: Intent { flg=0x14000000 cmp=com.whatsapp/.Conversation (has extras) } from pid 18867
W/InputManagerService( 1019): Starting input on non-focused client [email protected] (uid=10080 pid=18867)
D/VoldCmdListener( 891): volume shared /mnt/sdcard ums
D/VoldCmdListener( 891): volume shared /mnt/sdcard ums
D/MusicControls( 1279): Updating Music Controls Visibility
D/MusicControls( 1279): Music is not active
W/InputManagerService( 1019): Window already focused, ignoring focus gain of: [email protected]
D/MusicControls( 1279): Updating Music Controls Visibility
D/MusicControls( 1279): Music is not active
W/InputManagerService( 1019): Window already focused, ignoring focus gain of: [email protected]
D/StatusBarService( 1279): DISABLE_CLOCK: yes
D/StatusBarService( 1279): DISABLE_NAVIGATION: yes
W/ProcessStats( 1019): Skipping unknown process pid 26719
I/ActivityManager( 1019): Start proc mobi.mgeek.TunnyBrowser:DolphinNotification for service mobi.mgeek.TunnyBrowser/com.dolphin.browser.message.C2DMService: pid=26767 uid=10119 gids={3003, 1015, 1007}
I/ActivityManager( 1019): Process com.google.android.talk (pid 18915) has died.
I/ActivityManager( 1019): Process mobi.mgeek.TunnyBrowser:DolphinNotification (pid 26767) has died.
W/ProcessStats( 1019): Skipping unknown process pid 27439
I/TelephonyRegistry( 1019): notifyDataConnection: state=0 isDataConnectivityPossible=false reason=null interfaceName=null networkType=2
I/TelephonyRegistry( 1019): notifyDataConnection: state=1 isDataConnectivityPossible=true reason=null interfaceName=null networkType=2
I/ActivityManager( 1019): Start proc com.google.android.apps.uploader for broadcast com.google.android.apps.uploader/.ConnectivityBroadcastReceiver: pid=27556 uid=10005 gids={3003}
Logcats get longer the longer they run. So it is advisable that you run the logcat and immediately proceed to recreate the problem.
Also, paste the resulting logcat on sites like Pastebin and share the link to the dev!
Now, you must be wondering what the rest of the files in the Zip were for…
Well, those files are pre-configured commands for logcats to run. All that has to be done is double click the .bat files, and logging shall start. To stop logging, as stated above, press CTRL+C, then Y and ENTER.
Remember: Do delete/rename/move the output logcat file before creating a new logcat with the following files.
Files:
Logcat 1 (Long and Detailed).bat : Normal Logcat command. Same result as the example given above.
Logcat 2 (Short and Errors only).bat : Shorter Logcat command. Omits out Verbose, Debug and Info. Displays/Filters only Warning, Error And Fatal. Useful when logcat duration is very long, as this displays only the error and fault messages. Example:
Code:
--------- beginning of /dev/log/system
11-13 12:13:40.099 1019 1019 W InputManagerService: Window already focused, ignoring focus gain of: [email protected]
11-13 12:20:34.359 1019 1360 W InputManagerService: Window already focused, ignoring focus gain of: [email protected]
11-13 12:22:31.069 1019 1045 W ActivityManager: Activity pause timeout for HistoryRecord{4085daf8 com.quoord.tapatalkxdapre.activity/.forum.ForumNavigationActivity}
11-13 12:23:42.009 1019 1402 W InputManagerService: Window already focused, ignoring focus gain of: [email protected]
11-13 12:28:36.779 1019 28921 W InputManagerService: Window already focused, ignoring focus gain of: [email protected]
11-13 12:31:20.980 1019 1402 W InputManagerService: Window already focused, ignoring focus gain of: [email protected]
11-13 12:58:05.899 1019 1057 W ProcessStats: Skipping unknown process pid 29887
11-13 13:06:11.630 1019 1045 W ActivityManager: Activity pause timeout for HistoryRecord{405d5100 com.android.phone/.InCallScreen}
11-13 13:06:14.400 1019 26640 W WindowManager: Layout repeat skipped after too many iterations
11-13 13:06:14.400 1019 26640 W WindowManager: Layout repeat skipped after too many iterations
11-13 13:06:14.400 1019 26640 W WindowManager: Layout repeat skipped after too many iterations
11-13 13:06:14.400 1019 26640 W WindowManager: Animation repeat aborted after too many iterations
11-13 13:06:14.420 1019 1211 W WindowManager: Layout repeat skipped after too many iterations
11-13 13:06:14.750 1019 1211 W WindowManager: Animation repeat aborted after too many iterations
11-13 13:06:21.069 1019 1045 W ActivityManager: Activity idle timeout for HistoryRecord{405d5100 com.android.phone/.InCallScreen}
11-13 13:17:41.240 1019 28924 W InputManagerService: Window already focused, ignoring focus gain of: [email protected]
11-13 14:02:27.259 1019 1328 W InputManagerService: Window already focused, ignoring focus gain of: [email protected]
11-13 14:06:00.389 1019 1330 W ActivityManager: Scheduling restart of crashed service com.whatsapp/.messaging.MessageService in 5000ms
11-13 14:06:03.459 1019 28922 W InputManagerService: Window already focused, ignoring focus gain of: [email protected]
11-13 14:09:21.689 1019 21101 W InputManagerService: Window already focused, ignoring focus gain of: [email protected]
11-13 14:09:23.329 1019 1330 W ActivityManager: Scheduling restart of crashed service com.jim2/.UpdateService in 5000ms
11-13 14:09:35.339 1019 1045 W ActivityManager: Launch timeout has expired, giving up wake lock!
11-13 14:09:35.399 1019 1057 W ActivityManager: Process ProcessRecord{406b4718 32036:com.imgurforandroid/10108} failed to attach
11-13 14:09:41.639 1019 1045 W ActivityManager: Activity pause timeout for HistoryRecord{4050c488 com.imgurforandroid/.activity.LaunchUploadUi}
11-13 14:09:41.679 1019 1034 W InputManagerService: Window already focused, ignoring focus gain of: [email protected]
11-13 14:10:23.679 1019 1033 W InputManagerService: Window already focused, ignoring focus gain of: [email protected]
11-13 14:11:00.629 1019 28924 W ActivityManager: startActivity called from non-Activity context; forcing Intent.FLAG_ACTIVITY_NEW_TASK for: Intent { cmp=com.imgurforandroid/.activity.ImageDetails bnds=[0,138][240,189] (has extras) }
11-13 14:11:25.639 1019 1033 W InputManagerService: Window already focused, ignoring focus gain of: [email protected]
11-13 14:11:58.979 1019 1045 W ActivityManager: Activity pause timeout for HistoryRecord{408690f0 com.quoord.tapatalkxdapre.activity/.forum.ForumNavigationActivity}
11-13 14:12:26.129 1019 1360 W InputManagerService: Window already focused, ignoring focus gain of: [email protected]
11-13 14:13:20.449 1019 1402 W InputManagerService: Window already focused, ignoring focus gain of: [email protected]
11-13 14:13:53.159 1019 28922 W ActivityManager: Duplicate finish request for HistoryRecord{407186d8 com.quoord.tapatalkxdapre.activity/.forum.ForumNavigationActivity}
11-13 14:36:20.180 1019 1034 W InputManagerService: Window already focused, ignoring focus gain of: com.andr[email protected]
11-13 14:36:23.110 1019 1034 W ActivityManager: Scheduling restart of crashed service com.imgurforandroid/.ImgurUploadService in 5000ms
11-13 14:36:53.479 1019 26640 W InputManagerService: Starting input on non-focused client [email protected] (uid=1001 pid=1304)
11-13 14:36:56.649 1019 1033 W BackupManagerService: dataChanged but no participant pkg='com.android.providers.settings' uid=10092
11-13 14:36:56.799 1019 1328 W BackupManagerService: dataChanged but no participant pkg='com.android.providers.settings' uid=10092
11-13 14:37:58.840 1019 1330 W InputManagerService: Window already focused, ignoring focus gain of: [email protected]
11-13 14:43:51.779 484 509 E ActivityThread: Failed to find provider info for com.opera.branding.BrandingProvider
11-13 14:43:51.779 484 509 E ActivityThread: Failed to find provider info for com.opera.branding.BrandingProvider
11-13 14:43:51.789 484 510 E ActivityThread: Failed to find provider info for com.opera.branding.BrandingProvider
Logcat 3 (Radio related only).bat : Displays only messages related to radio (telephony). Useful whenever your developer asks for a Radio logcat. Example:
Code:
D/RILJ ( 1304): [1876]> QUERY_NETWORK_SELECTION_MODE
D/RILJ ( 1304): Serial: 1875
D/RILJ ( 1304): Error: 0
D/RILJ ( 1304): [1875]< REGISTRATION_STATE {1, 1777, 0000d72a}
D/RILJ ( 1304): Serial: 1876
D/RILJ ( 1304): Error: 0
D/RILJ ( 1304): [1876]< QUERY_NETWORK_SELECTION_MODE {0}
D/GSM ( 1304): Poll ServiceState done: oldSS=[0 home TATA DOCOMO TATA DOCOMO 405039 EDGE CSS not supported -1 -1RoamInd: -1DefRoamInd: -1EmergOnly: false] newSS=[0 home TATA DOCOMO TATA DOCOMO 405039 EDGE CSS not supported -1 -1RoamInd: -1DefRoamInd: -1EmergOnly: false] oldGprs=0 newGprs=0 oldType=EDGE newType=EDGE
D/GSM ( 1304): [DataConnection] Stop poll NetStat
D/GSM ( 1304): [DataConnection] Start poll NetStat
D/RILJ ( 1304): [1877]> SCREEN_STATE: false
D/RILJ ( 1304): Serial: 1877
D/RILJ ( 1304): Error: 0
D/RILJ ( 1304): [1877]< SCREEN_STATE
D/GSM ( 1304): [DataConnection] Stop poll NetStat
D/GSM ( 1304): [DataConnection] Start poll NetStat
D/RILJ ( 1304): [1878]> SCREEN_STATE: true
D/RILJ ( 1304): [UNSL]< UNSOL_RESPONSE_NETWORK_STATE_CHANGED
D/RILJ ( 1304): Serial: 1878
D/RILJ ( 1304): Error: 0
D/RILJ ( 1304): [1878]< SCREEN_STATE
D/RILJ ( 1304): [1879]> OPERATOR
D/RILJ ( 1304): [1880]> GPRS_REGISTRATION_STATE
D/RILJ ( 1304): [1881]> REGISTRATION_STATE
D/RILJ ( 1304): Serial: 1879
D/RILJ ( 1304): Error: 0
D/RILJ ( 1304): [1879]< OPERATOR {TATA DOCOMO, TATA DOCOMO, 405039}
D/RILJ ( 1304): [1882]> QUERY_NETWORK_SELECTION_MODE
Dmesg.bat : Prints messages from the kernel, useful as tool for debugging drivers and other kernel code. Use this whenever the developer asks to get a dmesg output. Example:
Code:
# c027ce40 : [HSIL] mdp_suspend_sub(1387) will cancel_delayed_work
<4>[34607.196686] [HSIL] mdp_suspend_sub(1391) will flush_workqueue
<4>[34607.196731] [HSIL] mdp_suspend_sub(1395) will atomic_read
<4>[34607.196773] [HSIL] mdp_suspend_sub(1400) will mdp_pipe_ctrl
<4>[34607.196816] [HSIL] mdp_suspend_sub(1402) after mdp_pipe_ctrl
<6>[34607.196854] # c03d7894 :
<6>[34607.196883] # c03d7894 :
<6>[34607.196909] # c03cb4a0 :
<6>[34607.196939] early_suspend: after calling suspend handlers
<6>[34607.205456] early_suspend: after calling sync_work_queue
<6>[34607.205508] early_suspend: abort label / before spin lock
<6>[34607.205564] early_suspend: unlocked main_wake_lock
<6>[34607.205599] early_suspend: end
<4>[34607.205636] [BACLKIGHT] : 17
<4>[34607.205668] Platform V:17, Find V:1
<4>[34607.205714] LCD Backlight re-init - wakeup time tune:1, lcd:32
<4>[34607.205926] [BACLKIGHT] : 15
<4>[34607.205956] Platform V:15, Find V:1
There you have it! Life made simpler, just double click and you are done!
Q) What’s the difference between Logcat and Dmesg?
A) Read this for info.
Hope this guide helped you.
I appreciate feedback and constructive criticism, but please, no “haters”/”trolls”.
Whatever questions/doubts you have regarding this guide, then please post it here itself…I don’t guarantee replying tech support questions via pm .
Do consider clicking on the “thanks” button rather than just posting thanks, and also joining us on our Facebook Group
a.cid said:
...
• If you want to overclock on stock (at your own risk), you can flash any kernel from this via cwm (so, obviously you need cwm, stock recovery won’t do)....
Click to expand...
Click to collapse
Pratyush mentioned in:
http://forum.xda-developers.com/showpost.php?p=24719114&postcount=1387
a cwm for rfs / see download-link, therefore exists in theory the possibility to oc stock-roms.
zcop said:
the first troll here hehe
What is s5670? Can i eat it?
Ok good work for newbie - who messup forum
Click to expand...
Click to collapse
Idk what s is, but 5670 are part of the number series...
You know 1 2 3 4 5 6 7 0
martin_s5670 said:
Pratyush mentioned in:
http://forum.xda-developers.com/showpost.php?p=24719114&postcount=1387
a cwm for rfs / see download-link, therefore exists in theory the possibility to oc stock-roms.
Click to expand...
Click to collapse
Ohhh sorry I totally forgot about that...will update the thread tomorrow from comp...
But I haven't tried it personally :/
And other recoveries (like the touch ones) give errors while flashing a few stuff...
Sent from my g-fit using xda premium
martin_s5670 said:
Pratyush mentioned in:
http://forum.xda-developers.com/showpost.php?p=24719114&postcount=1387
a cwm for rfs / see download-link, therefore exists in theory the possibility to oc stock-roms.
Click to expand...
Click to collapse
Ohhh wait, stock rom can be oc'ed, if you install another custom kernel...
That rfs support is for backups and restore...
The post will be clearer after I'll update it...
Sent from my g-fit using xda premium
Aspire said:
Nice, but the links aren't working.
Click to expand...
Click to collapse
Which ones??
Edit: oh okay, will fix them
Thank you
Sent from my g-fit using xda premium
Aspire said:
Nice, but the links aren't working.
Click to expand...
Click to collapse
Deleting
xn--http-fb7a//
in adress helps!
martin_s5670 said:
Deleting
xn--http-fb7a//
in adress helps!
Click to expand...
Click to collapse
Links updated...
i had typed in this in ms word, and it has messed around with the foramtting...
anyways, if you still find something wrong, do inform me
edit: added pratyush's recovery, as well as updated post to clarify...
a.cid said:
...
edit: added pratyush's recovery, ...
Click to expand...
Click to collapse
Pardon, its not pratyush's recovery, ..its of tj's !, see:
http://forum.xda-developers.com/showpost.php?p=24749890&postcount=1392
martin_s5670 said:
Pardon, its not pratyush's recovery, ..its of tj's !, see:
http://forum.xda-developers.com/showpost.php?p=24749890&postcount=1392
Click to expand...
Click to collapse
I know
The most popular and commonly used recovery for Galaxy Fit is ClockworkMod Recovery v5 built by tj_style.
This recovery works with all custom roms, but it does not support backing up and restoring (Nandroid Backups) of stock roms (since samsung stock roms are of rfs filesystem).
Hence, you CAN install this recovery on stock roms, but you wont be able to take (and restore) nandroid backups of stock roms.
However, pratyush.creed has modified this cwm5 to support backups of rfs (i.e. stock roms), you can get this from here
But for this guide, we will stick to the popular, tried and tested, cwm5 by tj_styles
Click to expand...
Click to collapse
a.cid said:
I know
...
However, pratyush.creed has modified this cwm5 to support backups of rfs
...
Click to expand...
Click to collapse
I said, not prat has modified, its tj's.
first of all I really thank you for this wonderful guide...
btw,the main reason to write this post -
what difference does it make if i select EXT4 instead of EXT3 while partitioning SD card
thnx
yzak58 said:
first of all I really thank you for this wonderful guide...
btw,the main reason to write this post -
what difference does it make if i select EXT4 instead of EXT3 while partitioning SD card
thnx
Click to expand...
Click to collapse
The cwm mentioned in my post doesn't give you the option to select ext3 or ext4
It, by default, partitions it to ext3...
Typed on a small touchscreen
Hey friend.. i m unable to root my mobile...
I have installed "GINGERBREAD.DXKT7 2.3.6"
So please say how can i root this stock rom...
akash6448 said:
Hey friend.. i m unable to root my mobile...
I have installed "GINGERBREAD.DXKT7 2.3.6"
So please say how can i root this stock rom...
Click to expand...
Click to collapse
Can you list the steps you did?
Also check if you have downloaded the update.zip correctly (simply try and extract it on your comp)...
Typed using a small touchscreen
Whenever there's an over-the-air (OTA) update sent-out or made available (either leaked or official), there's always a large number of users that end-up reporting that their installations have failed with the infamous and dreaded "E:Error in /sdcard/xxx.zip (Status 7) installation aborted." error message. So, I decided to try to write an app that would help folks figure-out what the issues might be so that they can get their OTA update installed.
The OTA Verifier app can be used to evaluate an over-the-air (OTA) update.zip or other flashable .zip file before you attempt the install or afterwards to help you figure-out why the installation may have failed. OTA Verifier will point-out what files and conditions are being tested so that you can more easily attempt to correct these issues.
Play Market Link (free!): OTA Verifier (beta)
Do I have to be rooted to use this?
No, but rooted devices will have more conditions that the app will be able to test/evalute because it will have access to protected files that non-rooted devices don't.
Will the app actually do the installation or change anything on my device?
No. The app will only evaluate the expressions and conditions contained inside the updater-script file inside the .zip file that's trying to be installed. None of the functions or commands that try to modify your device (i.e., delete/patch/format/extract, etc.) will be evaluated or executed. The app basically operates in "read-only" mode with respect to the .zip file being evaluated.
Will this app work on older devices or flashable .zip files that use the amend update-script files?
No, this app evaluates and interprets the newer edify updater-script files (notice the "r" in "updater").
How do I use this app?
Install and launch the app
Click the "Select File" button and navigate to desired .zip file
Long-press (press and hold) the file entry for the desired .zip file
Click the "Verify OTA .zip" file pop-up
Wait for the app to process the file (should take under a minute, depending on your device)
View the displayed results (text will also be copied to the clipboard)
Miscellaneous info:
1. Savvy root users probably already know that after a failed .zip file installation, you should be able to view the /cache/recovery/log file to view the information about what might have failed. OTA Verifier will try to uncover all of the issues and not just the first one that causes the installation to fail.
2. While I wrote this app principally to evaluate OTA update.zip files, the edify updater-script files are used and written by ROM devs and others who created flashable .zip files. This app can be used to evaluate those file's updater-script files, too.
How does this all work?
Here's the basic outline/structure of what the app does:
1. the .zip file is selected by the user via the file selector
2. list of frozen system apps are identified for later reporting
3. the updater-script file is extracted from the META-INF/com/google/android folder in the .zip file
4. this updater-script file is parsed and converted into reverse polish notation (RPN) for execution
5. edify functions that might modify your device are NOT evaluated; these include apply_patch, delete, delete_recursive, format, mount, package_extract_dir/file, run_program, set_perm[_recursive], symlink, unmount, write_raw_image, etc.
6. note: the update-binary executable is not used by or involved in this app; the edify script interpreter that the app uses was written by me, in Java, specifically for this app
7. the remaining edify script functions that test conditions (such as apply_patch_check, apply_patch_space, assert, concat, file_exists, file_getprop, getprop, greater_than_int, if-then-else-endif, ifelse, is_substring, less_than_int, read_file, ui_print, and various operators (!, !=, &&, (, ), ;, ||, +, ==)) are evaluated using an operand/operator stack from the RPN expression parsed from the updater-script statements
8. expressions that fail (return a null-string) or are bypassed (usually because a resource (file/partition) is protected/secured against read-access) are reported for the user
9. after the entire script has been processed, the results are displayed in a pop-up window on the device and the text of those results are copied to the clipboard
Planned / future features:
- preferences / settings
- logging of the output to a file on the /sdcard
- test if .zip file is signed or not
- display more stats
- "explanation mode" to interpret, in English, what the edify commands are testing
Successfully tested on:
Samsung Galaxy Nexus (CDMA) 4.1.1
Samsung Galaxy Nexus (GSM) 4.1.2
Asus Nexus 7 tablet 4.1.2
Motorola Droid X 2.3.4
The following edify commands/functions/operators are supported:
Code:
[COLOR="blue"]apply_patch_check[/COLOR] // apply_patch_check ( <filepath>, <sha1-checksum> [ , <sha1-checksum> ... ] )
// apply_patch_check ( <compoundvalue> )
<compoundvalue> := [ EMMC : <filepath> : <sha1-size> : <sha1-checksum> [ <sha1-size> : <sha1-checksum> ... ]
[ MTD : <dev-block> : <sha1-size> : <sha1-checksum> [ <sha1-size> : <sha1-checksum> ... ]
[ vfat : <dev-block> : <sha1-size> : <sha1-checksum> [ <sha1-size> : <sha1-checksum> ... ]
<dev-block> := filename in /dev/block
[COLOR="Blue"]apply_patch_space[/COLOR] // apply_patch_space ( <bytes> )
[COLOR="blue"]assert[/COLOR] // assert ( <expression> )
[COLOR="blue"]concat[/COLOR] // conact ( <string> , <string> )
[COLOR="blue"]file_exists[/COLOR] // file_exists ( <filepath> )
[COLOR="blue"]file_getprop[/COLOR] // file_getprop ( <filepath>, <propertyname> )
[COLOR="blue"]getprop[/COLOR] // getprop ( <propertyname> )
[COLOR="blue"]greater_than_int[/COLOR] // greater_than_int ( <integer>, <integer> )
[COLOR="blue"]if then else endif[/COLOR] // if <condition> then <expression> [ else <expression> ] endif
[COLOR="blue"]ifelse[/COLOR] // ifelse ( <condition>, <then-expression> [ <else-expression> ] )
[COLOR="blue"]is_substring[/COLOR] // is_substring ( <string> , <string> )
[COLOR="blue"]less_than_int[/COLOR] // less_than_int ( <integer>, <integer> )
[COLOR="blue"]read_file[/COLOR] // read_file ( <filepath> )
[COLOR="blue"]ui_print[/COLOR] // ui_print ( <string> ) parsed & executed, but output not displayed
[COLOR="blue"]![/COLOR] // logical NOT operator
[COLOR="blue"]!=[/COLOR] // not equals operator
[COLOR="blue"]&&[/COLOR] // logical AND operator
[COLOR="blue"]([/COLOR] // open paren: precedence / grouping
[COLOR="blue"])[/COLOR] // close paren: precedence / grouping
[COLOR="blue"];[/COLOR] // sequence/imperative (terminates & separates statements)
[COLOR="blue"]||[/COLOR] // logical OR operator
[COLOR="blue"]+[/COLOR] // string concatenation operator
[COLOR="blue"]==[/COLOR] // equals operator
[COLOR="blue"]#[/COLOR] // comment line
The following edify functions are NOT supported (the majority of them because they are intended to modify your device):
Code:
[COLOR="blue"]apply_patch[/COLOR]
[COLOR="blue"]delete[/COLOR]
[COLOR="blue"]delete_recursive[/COLOR]
[COLOR="blue"]format[/COLOR]
[COLOR="blue"]mount[/COLOR]
[COLOR="blue"]package_extract_dir[/COLOR]
[COLOR="blue"]package_extract_file[/COLOR]
[COLOR="blue"]run_program[/COLOR]
[COLOR="blue"]set_perm[/COLOR]
[COLOR="blue"]set_perm_recursive[/COLOR]
[COLOR="blue"]symlink[/COLOR]
[COLOR="blue"]unmount[/COLOR]
[COLOR="blue"]write_raw_image[/COLOR]
[COLOR="blue"]is_mounted[/COLOR] // innocuous, but still not supported
[COLOR="blue"]stdout[/COLOR] // innocuous, but still not supported
[COLOR="blue"]show_progress[/COLOR] // innocuous, but still not supported
[COLOR="blue"]set_progress[/COLOR] // innocuous, but still not supported
Keywords:
OTA, over-the-air, updater-script, edify, amend
Screenshots:
updated 9-May-2014
updated to version 1.3
Updated app with root-enabled file browser for navigating to protected/secured directories like /cache to select OTA's update zip file.
Full change log to date:
[v1.3 - 04-Nov-2012]:
- for rooted devices, change file browser to allow navigating and selecting .zip files in protected directories (like /cache)
[v1.2 - 29-Oct-2012]:
- minor fix to handle two reports of null pointer exceptions
[v1.1 - 28-Oct-2012]:
- remove unused SD card write permission
[v1.0 - 28-Oct-2012]:
- initial Play Market release
This is pretty cool.
Any chance you could direct me to an explanation for sha1-size (for apply_patch_check) is though? I'm working on some edify scripting stuff and trying to incorporate some asserts for a specific bootloader (important to what I'm doing), and this is honestly the best reference I've found for it yet.
osm0sis said:
This is pretty cool.
Any chance you could direct me to an explanation for sha1-size (for apply_patch_check) is though? I'm working on some edify scripting stuff and trying to incorporate some asserts for a specific bootloader (important to what I'm doing), and this is honestly the best reference I've found for it yet.
Click to expand...
Click to collapse
You bet!
I'm heading home from work here soon and I'll dig-up the details for you .
(yeah, I scoured the internet for detailed information on Edify scripting as well as reviewed the actual Google/Android code--there's not a complete compendium, unfortunately).
I'll ping you back after a bit...
Cheers!
osm0sis said:
Any chance you could direct me to an explanation for sha1-size (for apply_patch_check) is though?
Click to expand...
Click to collapse
Okay, here's what I know about the apply_patch_check command:
There are basically two formats:
Code:
apply_patch_check // apply_patch_check ( <filepath>, <sha1-checksum> [ , <sha1-checksum> ... ] )
// apply_patch_check ( <compoundvalue> )
<compoundvalue> := [ EMMC : <filepath> : <sha1-size> : <sha1-checksum> [ <sha1-size> : <sha1-checksum> ... ]
[ MTD : <dev-block> : <sha1-size> : <sha1-checksum> [ <sha1-size> : <sha1-checksum> ... ]
[ vfat : <dev-block> : <sha1-size> : <sha1-checksum> [ <sha1-size> : <sha1-checksum> ... ]
The first of which is what I think you typically see in updater-script files where you have a filename, followed by one or more SHA1 digests. Here's an example:
assert(apply_patch_check("/system/app/ApplicationsProvider.apk", "41bb5aaaa2791e68b55622fcca13f0e4efa757b2", "fc845332ae7f706824de73f64ae47f93866ad245"));
The second format is what I call a compound value format, where the file or partition to be checked and the SHA1 digests to be compared, are all concatenated together in a single, colon-separated value. For example:
assert(apply_patch_check("EMMC:/dev/block/platform/omap/omap_hsmmc.0/by-name/boot:4247552:3f4d4f9549d307d152f8503983ee4ff5f46b0a43:4470784:fbd13c778b34fdb7917c1ccee6389aa9b13a92bd"));
In the above, I've colored the sizes in red of file/partition on which to compute the SHA1 checksum (colored in black). I figured this out and verified this by using dd to copy the portions of the partition in question and calculating the SHA1 checksums on it.
My app only supports parsing and evaluating two sets of lengths/SHA1s for the compound format at this time (that's all I've encountered so far in the scripts that I've viewed).
Does that help and/or answer your questions?
Cheers!
Thanks! Yeah that helps a lot, but unfortunately it doesn't seem to solve the problem I've been seeing..
Using dd to grab the partition img I can sha1sum that and that SHA1 doesn't allow it to pass the assert, or even a direct sha1_check of the partition.
Code:
run_program("/sbin/busybox", "dd", "if=/dev/block/platform/sdhci-tegra.3/by-name/USP"), "of=/tmp/bootloader.img")
ui_print(sha1_check(read_file("/tmp/bootloader.img"))); = 8c206a1a87599f532ce68675536f0b1546900d7a (also, bootloader.img is 2097152 in size)
ui_print(sha1_check(read_file("/dev/block/platform/sdhci-tegra.3/by-name/USP"))); = da39a3ee5e6b4b0d3255bfef95601890afd80709
assert(apply_patch_check("EMMC:/dev/block/platform/sdhci-tegra.3/by-name/USP:2097152:8c206a1a87599f532ce68675536f0b1546900d7a")); = Fail
They just don't match and I'm completely baffled by it. I can work around it by using dd to pull the img first and using that for my asserts but it's not as clean as I'd like it.
osm0sis said:
Yeah that helps but I guess unfortunately it doesn't entirely solve the problem I've been seeing.
Using dd to grab the partition img I can sha1sum that and that SHA1 doesn't allow it to pass the assert, or even a direct sha1_check of the partition.
They just don't match and I'm completely baffled by it. I can work around it by using dd to pull the img and using that for my asserts but it's not as clean as I'd like it.
Click to expand...
Click to collapse
Is it for the Gnex or the N7 (I have those same devices)?
I'd be happy to test something for you...just PM me or send me an email ([email protected]).
I don't know if you're using my app to test with, but you can also manually run the update-binary directly on/from your phone (i.e., you don't have to run it in recovery, but you obviously need to be careful what your updater-script does ).
I'm still looking for the exact syntax in my notes, but I'll edit this post when I find it...brb.
~ ~ ~
edit: http://wiki.opticaldelusion.org/wiki/Update-binary shows this:
update-binary <api> <pipefd> <zip>
Click to expand...
Click to collapse
I know I did this during my early testing, but I can't remember the exact syntax...I'll try it and re-re-edit .
Man thanks so much, PM sent.
Sorry for cluttering up your thread with this semi-OT stuff.
osm0sis said:
Man thanks so much, PM sent.
Sorry for cluttering up your thread with this semi-OT stuff.
Click to expand...
Click to collapse
LOL, not a problem...it's all Edify-related and updater-script related...I'm betting that's what'll lead most folks here.
Happy to help .
==================
Detailed Analysis
==================
- you have no frozen system apps (good!)
- there were 2 failed expressions; see below for the details about these tests that will cause your OTA install to fail
- there were no bypassed expressions (good!)
-------------------------------
statistics:
frozen system apps: 0
success count: 526
fail count: 2
ignore count: 1587
partition count: 2
protected count: 2
bypassed count: 0
-------------------------------
updater-script analysis details:
FAILED: line #268:
assert(apply_patch_check("/system/app/XT9IME.apk", "8aba56a4406128e78f5729753252c3d93bc21cb4", "965b437bce65018eeb31ff9a381c3687542099e0"));
----------------------
FAILED: line #1038:
assert(apply_patch_check("EMMC:/dev/block/platform/sdhci-tegra.3/by-name/LNX:5013504:c48f8e86c73fb2c2ba1794f5ec98e27c9e206ed5:5060608:319331fae14fec8a88063751475fce26bae328e0"));
So a question, could this failure above be causing my 32 GB nexus 7 to have system update issues? (Not necessarily XT9IME.apk (which I shouldn't have deleted), more the other one) Is there a fix?
Sent from my Nexus 7 using Tapatalk HD
---------- Post added at 10:44 AM ---------- Previous post was at 10:39 AM ----------
==================
Detailed Analysis
==================
- you have no frozen system apps (good!)
- there were 2 failed expressions; see below for the details about these tests that will cause your OTA install to fail
- there were no bypassed expressions (good!)
-------------------------------
statistics:
frozen system apps: 0
success count: 526
fail count: 2
ignore count: 1587
partition count: 2
protected count: 2
bypassed count: 0
-------------------------------
updater-script analysis details:
FAILED: line #268:
assert(apply_patch_check("/system/app/XT9IME.apk", "8aba56a4406128e78f5729753252c3d93bc21cb4", "965b437bce65018eeb31ff9a381c3687542099e0"));
----------------------
FAILED: line #1038:
assert(apply_patch_check("EMMC:/dev/block/platform/sdhci-tegra.3/by-name/LNX:5013504:c48f8e86c73fb2c2ba1794f5ec98e27c9e206ed5:5060608:319331fae14fec8a88063751475fce26bae328e0"));
Sent from my Nexus 7 using Tapatalk HD
Click to expand...
Click to collapse
So a question, could this failure above be causing my 32 GB nexus 7 to have system update issues? (Not necessarily XT9IME.apk (which I shouldn't have deleted), more the other one) Is there a fix?
modwilly said:
So a question, could this failure above be causing my 32 GB nexus 7 to have system update issues? (Not necessarily XT9IME.apk (which I shouldn't have deleted), more the other one) Is there a fix?
Click to expand...
Click to collapse
Looks like you've updated the boot (LNX) partition in addition to deleting (or renaming/moving) the XT9IMG.apk?
So yes, the OTA will not install until you've put both items back to their expected state.
The fix, of course, depends on exactly what you did to change them in the first place.
version 2.1 uploaded to Play Store
Major re-write of app done for version 2.0 and above.
Recent change log:
[version 2.1 - 6-May-2014]:
- fix issue w/identification of non-existent files
[version 2.0 - 5-May-2014]:
- major app update: edify parsing, RPN processing and execution engine completely re-written
- original core app behavior and functionality remain the same, but code cleanup and re-write should mean better and more robust handling of future OTA updater-script expressions
Click to expand...
Click to collapse
Thanks and let me know if you have any questions.
@scary alien could you please tell me how to get apply_patch_space bytes? i am making ota script and i got almost all, still need to generate:
apply_patch_space(bytes) || abort("Not enough free space on /cache to apply patches.");
Click to expand...
Click to collapse
i just dunno how
ZduneX25 said:
@scary alien could you please tell me how to get apply_patch_space bytes? i am making ota script and i got almost all, still need to generate:
i just dunno how
Click to expand...
Click to collapse
It's just the available space (in bytes) in the /cache partition that you want to make sure is available (i.e., free space) for any operations your updater-script file will do concerning /cache.
For example:
apply_patch_space(1000000) || abort("Not enough free space on /cache to apply patches.");
Click to expand...
Click to collapse
Would verify that there is at least 1MB (1,000,000) free bytes available in /cache.
Does that answer what you're asking?
Lemme know--happy to help if I can.
Cheers!
@scary alien not really, i mean i know how it works, just dunno how to generate proper size in updater, for example:
i create regular ota: multiple .p files and some images, zipped, signed OTA.zip size is 20mb, /patch size is 7 mb, images 10 mb and /system (new files) 3mb, how do i know how many bytes i should set to make this ota install in recovery?
should i summarize .p files size or target (patched apk, jar) files size (would be around 90mb) or what else?
I think the size would depend on when your patch files are cleaned-up...i.e., after each patching operation or at the end. If its at the end, you'll of course need to account to all of the space you might use in /cache.
I don't know of a good way to tell you what the high water mark would be other than testing and recording the output of a "df /cache" command at various points in your updater-script file.
I could do that however I don't see it universal or handy, each ota has different size so it would need more/less free space every time.
There is how Google gets this value : https://github.com/MiCode/patchrom_tools/blob/kitkat/releasetools/edify_generator.py#L131 maybe you will understand better.
ZduneX25 said:
I could do that however I don't see it universal or handy, each ota has different size so it would need more/less free space every time.
There is how Google gets this value : https://github.com/MiCode/patchrom_tools/blob/kitkat/releasetools/edify_generator.py#L131 maybe you will understand better.
Click to expand...
Click to collapse
I think I understood what you meant...there's no easy way to make this universal for each OTA except to evaluate each file that might need to use space resources from the /cache partition.
Even the edify-generator git that you referenced does this dynamically:
releasetools/ota_from_target_files:
Code:
for diff in diffs:
tf, sf, d = diff.GetPatch()
if d is None or len(d) > tf.size * OPTIONS.patch_threshold:
# patch is almost as big as the file; don't bother patching
tf.AddToZip(output_zip)
verbatim_targets.append((tf.name, tf.size))
else:
common.ZipWriteStr(output_zip, "patch/" + tf.name + ".p", d)
patch_list.append((tf.name, tf, sf, tf.size, common.sha1(d).hexdigest()))
[COLOR="Red"]largest_source_size[/COLOR] = max([COLOR="red"]largest_source_size[/COLOR], sf.size)
:
:
:
if patch_list or updating_recovery or updating_boot:
script.[COLOR="Blue"][B]CacheFreeSpaceCheck[/B][/COLOR]([COLOR="red"]largest_source_size[/COLOR])
I have seen it, but here comes largest_source_size:
Code:
largest_source_size = 0
https://github.com/MiCode/patchrom_tools/blob/kitkat/releasetools/ota_from_target_files#L532
ZduneX25 said:
I have seen it, but here comes largest_source_size:
Code:
largest_source_size = 0
https://github.com/MiCode/patchrom_tools/blob/kitkat/releasetools/ota_from_target_files#L532
Click to expand...
Click to collapse
Yeah, that's just the initialization of that variable...it gets updated in the for-loop that I included above.
(you know that's not my tool, software, right?)
Hello everyone,
I'm facing a quite strange and annoying issue on a TF700T.
No matter which ROM I'm running with, Google Play tells me updates need to be done, which is normal. When I start the updates, the downloads pause at 4% for most of them, and will never end, even after 4 days of activity.
A tablet on which you cannot download content to, or install apps is not very usefull.
The problem is the same with other download types (if I browse on the navigator, to download a ROM.zip, download starts and stops at 4%)
A friend gave me this tablet with Cromi-X insttaled on it. I first thought it was a ROM issue, so I flashed CM11 stable version, just to see.
Problem is the same.
I tried with different google accounts, I cleared Google Play cache services.
No effect.
I also flashed the ASUS original firmware using the SD card mthod, and problem is still there.
I'm short on ideas now, I've looked in XDA forum, but never found a thread with similar issues.
Tablet is currently running Android 4.1.1 WW10.4.4.25-20121228 A03 and unlocked
Thank you very much for your help or advices,
Nicolas
Hi again,
I have made progress on this strange issue.
I finally managed to get google play and downloads to work, but I have to use a vpn client so it can work.
I tried VPN Hideninja.
And, I have the issue no matter which rom/ android version I use.
So, it's a workaround, but at least it allows the tablet to be "usable".
Does someone has any ideas where the problem could come from? (bad kernel version?...)
Or, maybe someone knows a tool to check Android configuration issue, network configuration (I've searched but didnn't find something yet, but I keep trying )
Thank you for your help
Nicolas
Hi,
I installed cromi-X on the tablet and combi-kk as rom2Sd. Bith rom start, but I still have the issues with the playstore.
Does anyone know a tool to perform a hardware check?
If I want to completely clean the tablet, what would you advise ? Right now I'm trying to figure out if the problem is hardware or software.
Thank you for your help
Nicolas
nvuillem said:
Hi,
I installed cromi-X on the tablet and combi-kk as rom2Sd. Bith rom start, but I still have the issues with the playstore.
Does anyone know a tool to perform a hardware check?
If I want to completely clean the tablet, what would you advise ? Right now I'm trying to figure out if the problem is hardware or software.
Thank you for your help
Nicolas
Click to expand...
Click to collapse
Search how to do a logcat over adb and post the resulting text file. Do it after you attempted to download something.
sbdags said:
Search how to do a logcat over adb and post the resulting text file. Do it after you attempted to download something.
Click to expand...
Click to collapse
Hi Sdbags, first of all thank you for your interest.
I've made 3 logcatfiles:
#1 on the rom2sd crombi-kk before downloading. logcatkkStartUp.txt
#2 after stopping downloading as it was frozen. logcatkkDLFails.txt
#3 same as #2 but running on cromi-X on the internal memory of the pad logcatX.txt
I believe this is not looking good:
W/NetworkManagementSocketTagger( 1280): untagSocket(94) failed with errno -22
I/qtaguid ( 1280): Failed write_ctrl(u 56) res=-1 errno=22
I/qtaguid ( 1280): Untagging socket 56 failed errno=-22
Thanks again for your help,
Thank you
Nicolas
nvuillem said:
Hi Sdbags, first of all thank you for your interest.
I've made 3 logcatfiles:
#1 on the rom2sd crombi-kk before downloading. logcatkkStartUp.txt
#2 after stopping downloading as it was frozen. logcatkkDLFails.txt
#3 same as #2 but running on cromi-X on the internal memory of the pad logcatX.txt
I believe this is not looking good:
W/NetworkManagementSocketTagger( 1280): untagSocket(94) failed with errno -22
I/qtaguid ( 1280): Failed write_ctrl(u 56) res=-1 errno=22
I/qtaguid ( 1280): Untagging socket 56 failed errno=-22
Thanks again for your help,
Thank you
Nicolas
Click to expand...
Click to collapse
Well there are some hints in there. As this happens on every rom I'm going to stick my neck out and say it's nothing to do with the ROM you in stall
The below appears to be trying to update Google Street View.
Code:
I/GoogleHttpClient( 832): Falling back to old http client 0 java.lang.NoSuchMethodException: <init> [class android.content.Context, class java.lang.String, boolean]
D/SurfaceControl( 622): Excessive delay in blankDisplay() while turning screen off: 107ms
W/ActivityThread( 832): ClassLoader.loadClass: The class loader returned by Thread.getContextClassLoader() may fail for processes that host multiple applications. You should explicitly specify a context class loader. For example: Thread.setContextClassLoader(getClass().getClassLoader());
I/auditd ( 9847): Starting up
E/auditd ( 9847): Failed on audit_set_pid with error: Protocol not supported
I/auditd ( 9847): Exiting
I/auditd ( 9850): Starting up
E/auditd ( 9850): Failed on audit_set_pid with error: Protocol not supported
I/auditd ( 9850): Exiting
I/auditd ( 9853): Starting up
E/auditd ( 9853): Failed on audit_set_pid with error: Protocol not supported
I/auditd ( 9853): Exiting
I/auditd ( 9858): Starting up
E/auditd ( 9858): Failed on audit_set_pid with error: Protocol not supported
I/auditd ( 9858): Exiting
I/auditd ( 9863): Starting up
E/auditd ( 9863): Failed on audit_set_pid with error: Protocol not supported
I/auditd ( 9863): Exiting
D/Finsky ( 2075): [1] DownloadQueueImpl.notifyProgress: com.google.android.street: onProgress 185420/264451 Status: 192.
D/MarketUpdateReceiver( 9689): market is downloading (0%): com.google.android.street
I/DownloadManager( 1842): Download 22 starting
D/MarketUpdateReceiver( 9689): market is downloading (0%): com.google.android.street
I/auditd ( 9871): Starting up
E/auditd ( 9871): Failed on audit_set_pid with error: Protocol not supported
I/auditd ( 9871): Exiting
I/auditd ( 9876): Starting up
E/auditd ( 9876): Failed on audit_set_pid with error: Protocol not supported
I/auditd ( 9876): Exiting
I/auditd ( 9879): Starting up
E/auditd ( 9879): Failed on audit_set_pid with error: Protocol not supported
I/auditd ( 9879): Exiting
I/auditd ( 9882): Starting up
E/auditd ( 9882): Failed on audit_set_pid with error: Protocol not supported
I/auditd ( 9882): Exiting
D/MarketUpdateReceiver( 9689): market is downloading (0%): com.google.android.street
W/DownloadManager( 1842): Aborting request for download 22: Failed reading response: java.net.SocketTimeoutException
I/DownloadManager( 1842): Download 22 finished with status WAITING_TO_RETRY
auditd is the Selinux logging facility... Protocol not supported means Linux kernel is missing the SELinux protocol...
So possibly you are on an older bootloader that doesn't support the right kernel ....
What bootloader and version of TWRP are you on exactly?
AH WE HAVE A WINNER
Tablet is currently running Android 4.1.1 WW10.4.4.25-20121228 A03 and unlocked
You need to update your bootloader and TWRP. Flash my update package from the CROM-X first post and then follow the instructions to move to a later TWRP if you want to try a CM11 base
Hi Sdbags,
upon startup, bootloader version shows "WW_epad-10.6.1.14.4-20130329" A03, and TWRP is v2.6.3-that3.
I can atach pictures if you want.
Ciould it be that a part of the tablet has the right bootloader version, and another part d not have that correct version?
Thank you for your help
Nicolas
nvuillem said:
Hi Sdbags,
upon startup, bootloader version shows "WW_epad-10.6.1.14.4-20130329" A03, and TWRP is v2.6.3-that3.
I can atach pictures if you want.
Ciould it be that a part of the tablet has the right bootloader version, and another part d not have that correct version?
Thank you for your help
Nicolas
Click to expand...
Click to collapse
Do me a favour and flash my package and then upgrade to TWRP 2.6.3-that3. There is flashable version of that in my CROMBi-kk thread. Then we know you are on the latest bootloader and recovery.
Also you seem to be using bluetooth at the same time. That doesn't work well on these devices. Turn off bluetooth as well and let's get the wifi working.
51189868998
sbdags said:
Do me a favour and flash my package and then upgrade to TWRP 2.6.3-that3. There is flashable version of that in my CROMBi-kk thread. Then we know you are on the latest bootloader and recovery.
Also you seem to be using bluetooth at the same time. That doesn't work well on these devices. Turn off bluetooth as well and let's get the wifi working.
Click to expand...
Click to collapse
Hi,
So I went to recovery, wiped everything except external SD. transfered using adb :
cm-4.4-20140309-CROMBikk4.4.2-tf700t_Signed.zip
install it, restart to crombikk (normal installation, not in rom2SD)
restarted to Android, and made a logcat.
Rebooted to recovery and flashed twrp-2.6.3-that3_Signed 1.zip
Rebooted to android and made a logcat
Finally, rebooted to recovery, installed crombi_kkgapps_20140312_Signed.zip and reboot to Android system, connected a google account and tried to download an app from Google. Bluetooth is off (I never switched it on in my previous logcats.)
I then started the playstore application, and Android Terminal Emulator installed correctly.
I then wanted to install a Google product, Chrome Browser in the logcat attached. Download starts and freezes at 9% for 2 minutes then increases to 24% and freezes again. The download is still pending.
I'll post the logcat of the tablet when download stops by itself or it completes. (let's hope it does but it is hanging for 10 minutes now)
Try clearing data and cache on the Play Store and Google Play Services and reboot.
nvuillem said:
Hi,
So I went to recovery, wiped everything except external SD. transfered using adb :
cm-4.4-20140309-CROMBikk4.4.2-tf700t_Signed.zip
install it, restart to crombikk (normal installation, not in rom2SD)
restarted to Android, and made a logcat.
Rebooted to recovery and flashed twrp-2.6.3-that3_Signed 1.zip
Rebooted to android and made a logcat
Finally, rebooted to recovery, installed crombi_kkgapps_20140312_Signed.zip and reboot to Android system, connected a google account and tried to download an app from Google. Bluetooth is off (I never switched it on in my previous logcats.)
I then started the playstore application, and Android Terminal Emulator installed correctly.
I then wanted to install a Google product, Chrome Browser in the logcat attached. Download starts and freezes at 9% for 2 minutes then increases to 24% and freezes again. The download is still pending.
I'll post the logcat of the tablet when download stops by itself or it completes. (let's hope it does but it is hanging for 10 minutes now)
Click to expand...
Click to collapse
Are you sure it's not your router?
sbdags said:
Are you sure it's not your router?
Click to expand...
Click to collapse
Hi,
I tried to download from 3 different locations, with 3 different ISP and modems, and the problem is the same.
I also tried to Clear cache and data of Google services and PlayStore. I still have the problem.
Yesterday, when I flashed everything to reinstall the Rom and the recovery on proper basis, I noticed that some directories are not wiped.
Maybe some files are missing?
Is there any way to restore those directory? (maybe doing a wipe data from the bootloader, but I read at many places that it is not advised...
I also tried to find an application or a thread to test the hardware of the tablet without any success
Thank you for your help
Nicolas
nvuillem said:
Hi,
I tried to download from 3 different locations, with 3 different ISP and modems, and the problem is the same.
I also tried to Clear cache and data of Google services and PlayStore. I still have the problem.
Yesterday, when I flashed everything to reinstall the Rom and the recovery on proper basis, I noticed that some directories are not wiped.
Maybe some files are missing?
Is there any way to restore those directory? (maybe doing a wipe data from the bootloader, but I read at many places that it is not advised...
I also tried to find an application or a thread to test the hardware of the tablet without any success
Thank you for your help
Nicolas
Click to expand...
Click to collapse
You could try a full internal sd card format from inside twrp - warning it can take up to 2 hours to complete. Make sure you have everything you want to keep and rom.zips on external sd as well.
sbdags said:
You could try a full internal sd card format from inside twrp - warning it can take up to 2 hours to complete. Make sure you have everything you want to keep and rom.zips on external sd as well.
Click to expand...
Click to collapse
Hi,
I did the full wipe from the factory (took 90 minutes )
I reinstalled the rom, and I stil have the problem (erro 495 most of the time)
I then downloaded and installed a VPN client and it works. ( I attached the logcat.txt)
There is still something I can't figure out, as it works using a VPN, the issue is probably not related to hardware, but software, and it is not related to the Rom or recovery.
Do you know if Google checks something like device ID when apps are dowloaded from the store?
Thanks
Nicolas
nvuillem said:
Hi,
I did the full wipe from the factory (took 90 minutes )
I reinstalled the rom, and I stil have the problem (erro 495 most of the time)
I then downloaded and installed a VPN client and it works. ( I attached the logcat.txt)
There is still something I can't figure out, as it works using a VPN, the issue is probably not related to hardware, but software, and it is not related to the Rom or recovery.
Do you know if Google checks something like device ID when apps are dowloaded from the store?
Thanks
Nicolas
Click to expand...
Click to collapse
If it works on a VPN then it is more likely related to your country and / or ISP and Google servers.
I try to share my experience about this cheap phone (bought I think for 45€ : was the cheapest of the hypermarket, around 2019).
Here are some specs : https://www.gsmarena.com/wiko_sunny3-9733.php
First of all, this is a SPD (Spreadtrum) based device, not MTK (Mediatek). (Surely, it would have been easier on an MTK Wiko like the Jerry...)
My goal was to get root access and finally try to install a big-tech free system alternative.
I confess, I spent about one month on it. Here are my findings and the final result I could achieve.
Long story short : I could not get root (I'll explain it below). But I could "un-google" it as much as it is possible without breaking anything essential.
Here is the story and it's lessons learned, in a hopefully logical order.
1. Tried all (really all!) available "out of the box" rooting apps without any result.
2. However there is an "allow unlock bootloader" switch in the "developper settings" (once taped a couple of times on the "build" of the system menu...)
there was no way to really "unlock" it using any appliable fastboot command (tried really everything).
3. Magisk (latest or any other) could not patch the boot.img (or recovery.img).
As root access means the ability to get at some point a writable filesystem, and as this is mounted by boot/recovery.img, this is the key process here.
4. So I went to linux to modify them : tried again all dedicated tools to unpack, edit and repack the boot and recovery.img.
mkbootimg/unpacbootimg, abootimg, but it turns out, they don't repack the files in an acceptable way for this system.
Independently from change made or not (in some .rc file inside the ramdisk, initrd), those usual dedicated tools just cannot repack the file correctly, at least for this device.
Lastly, when I tried bootimg.exe (for windows) of "cofface" (https://github.com/cofface/android_bootimg/blob/master/bootimg.exe)
I could find out that it extracted an other file that abootimg and others was not even aware of : dt_image (binary having an SPRD header).
And this (avesome) tool is able to repack it with it.
But now, the new boot.img was 12Mo and not 36Mo as before. Turns out there is a huge empty (00 bytes) overlay, and a vbmeta (AVB) signature, somewhere at a precise place and at the end of the file.
So I completed and patched the file by a hex editor, to make it the same as the original one. (There were also some 2 "minor" diffs at the beginning of the file that I tried every combination with to make the device boot with it. No way.
I believe now, fdl2-sign.bin, one of the two mandatory required files to flash anything on the device (that gets allways flashed first), checks the signature of boot.img (and recovery.img), so a modification of these would need a brand new signature. (Tell me if I'm wrong: I'm not a pro) And I gave up at this point.
5. Before (understanding the above), I tried also by just changing system/vendor to make root tools available :
Mounted on Linux : strangely, when the filesystem was rebuilt by "make_ext4fs" the flashing crashed, but just unmounting it and then "img2simg" to get the android "spars" format, worked fine (despite for ex. the record of the mountpoint inside the file).
I tried to add all the necessary files (su, busybox, etc.) to "system "and "vendor"... retoutching everythig back to original time stamps, etc.etc.
but the loaded system denies access to all "new" files (and also to some others). Then I tried to change some "policies" files in /etc/selinux (like plat_sepolicy.cil), only trying to get how it works (I added some lines about my files taking as example a well authorized binary)... if ever the added binaries could be accessed even on a -ro filesystem. But nothing changed.
All file added or modified, such as a new bootanimation.zip, becomes "access denied" as well, despite adding them to policies files.
Same for some "new" sounds to media folder : they will be listed but not played (so you only get silenced wake-up instead .
6. After that I decided to un "big-tech"(BT) everything and replace as much (BT tracked) functions as possible by "clean" FOSS apps from F-Droid.
And this, at my surprise, I could get it through 100% (I believe).
The idea in short :
1 - make a clean firmware flush (perhaps with already reduced preinstalled apps)
2 - uninstall/deactivate on the device anything you want and can, replace needed default apps (by FOSS equivalent), especially the launcher(wiko app starter).
3 - edit system and vendor (on linux), delete unwanted apps (making according changes on some .xml control files doesn't change anything and only might cause problems: just deleting the packages seems enough here)
4 - then reflash only the modified system and vendor (reboot and see)
Now, for those who (I would like to say "hate" BT enough to accept loosing the shiny comfort they offer, but lets say) want to get rid of preinstalled privacy breaking BT apps, here is the howto : (with explanation for also the novice)
a) First, download the latest firmware update :
Wiko Mobile : Customer Area / Connection.
customer-world.wikomobile.com
b) Launch the app and push the start flushing button (play button). This will unpack the boundled .pac file into a temporary directory (into the app folder's "ImageFiles\_DownloadFilesE10_2C10D_0" : the suffix changes at each startup. Save this folder to somewhere else (because quiting the app will erase it).
c) Now you need to launch a linux OS, (that can of course access the saved rom files) mainly to mount and modify system.img and vendor.img.
I will detail this for the novice.
Basically, open any teminal, then install if its not yet done, the following needed tools :
sudo apt-get install e2fsprogs
sudo apt-get install android-tools-fsutils
to use Midnight Commander which will save you a lot of time, make also a
sudo apt-get install mc
Then "sudo mc".
Once in MC, do Ctrl+o to switch (back and forth) to command line
d) Uncompress the system+vendor image files, mount, modify, then umount and recompress them :
Uncompress by : "simg2img vendor.img vendor-whatever.img" (same with system.img)
Then (create some "sys", "ven" folders) and : "mount system-whateweryoucalledit.img sys -rw" (thats all, same for vendor).
It turns out, you can just easyly erase some apps (but not anything!) and they just won't be installed, or will "disappear" if they were...
You can delete already from system: in "app" and "priv-app" folders any Facebook related app or service, plus Youtube, Chrome, Gmail... Duo, Messages, TTS, Calendar, Maps. From vendor: Photos, Music, Contact (and also Chrome vendor overlays). Normally you could only deactivate them from the device, but that way they won't be present at all.
You can also edit /etc/prop.default, as follows, but honestly, I did not recognized anything really working, except the sys.usb config and mock.location (allowing fake gps position app).
ro.secure=0 ---> these 2 doesn't seem to do anything without a patched boot.img
security.perf_harden=0
ro.adb.secure=1 ---> needed, otherwise you won't get adb access dialog
ro.allow.mock.location=1 ---> allows fake gps app
ro.debuggable=0 ---> if 1: will just crash "developper settings" because of its defaults
persist.sys.usb.config=none ---> you will be free to set it
Do not try to "ro.adb.secure=0" because you just won't get confirmation box for trusted adb connection attempts and they just won't work!
Same, don't be tempted by "ro.debuggable=1" bacause you will not even be able to access "developper options" any more as its defaults will conflict with this setting an it will just crash over and over. I did it, I payed the price to start it over again...
Now, it seems, ro.secure=0 and security.perf_harden=0 does just nothing as well, without being able to modify boot.img first.
Changing eventually "ro.build.type=user" (in system/build.prop or anywhere else) to "eng" or to "userdebug" makes just the flashing operation to crash. (same by patching boot/recovery.img in hex mode (which looked attractive at first sight) but led to flush crash as well, mainly for the vbmeta thing I tried to describe above.
When finished, just "umount sys" and "umount ven"
Then recompress the files by "img2simg vendor-whatever.img vendor.img" (same with system).
(This first amputation and further, could be done perhaps later all at once, but thats how I did. Of course its about to avoid first installations but without breaking the setup process.)
e) Flash the new firmware to the device, replacing system and vendor.img by the modified files :
The modified files shouldn't be bigger than the original ones, at least not bigger than their size stated (in Mb) in the k120.xml (system:1400,vendor:300) but there is no reason anyway as after my experience all added files will become "access denied". (Should they become bigger than that you will have to change these values in k120.xml and re-pac them (using spd research tool, that will update k120.xml) before using them again, otherwise the flashing will fail.)
So now, get ready for the flashing:
Un mount the back cover of your Wiko Sunny 3, remove for a few seconds the battery, then replace it.
Now, here is something I had to figure out myself because there isn't anywhere a clear description of it, and this is foundamental to be able to flash :
First thing to do is to launch your flashing software, choose the pac file if necessary and push the action button to get ready for the device's connection.
You can wait some time, while the app unpacks the included .pac file. (spd factory/research tools lets you choose your pac file, the one downloaded refers to it only through its .ini file).
So pushing the "start flashing" still nothing happens, the flashing app (unpacks the pac file and) just waits for the devive to connect... This can last forever, don't worry.
Now, to be able to connect de device in service/flashing mode, it should NOT go into charging mode when you connect it.
Thats why, you have to connect the (computer) USB slot by pressing continuosly volume up on the device (after havig removed and reinserted the battery) AND wait until the app detects it and starts the transfer. Do not release the volume-up until it gets at least 3-4%. (Many guides speak about 3 sec or so, the only thing accurate is that the app starts effectively the transfer.) If you release it too quick, the phone goes into charging mode and the COM port used to flash closes, and you will need to repeat the operation.
(And of course you need all required drivers loaded previously. The driver for flashing is called SPRD or SPD Driver R4.20.4201: seems the latest)
If successful, the device gets rebooted.
---------
Here I'd like to ask some pros of XDA : what signal boots the device after flashing? Can it be reproduced without flashing? In other words, can we start/boot an extincted device by USB signal? If yes, how ?
---------
As the first-time setup launches, just decline/skip ewerything, most of all the final wiko/vendor offer (this keeps you safe from vendor commercial services). Just get to the home screen.
See what you have got.
f) Now, setup your anti big-tech privacy free environment. For example, deactivate google play including its service. (Yes, "big-tech haters" don't rely on this ;-)
To know where are the spies, I installed TrackerControl (version 2022.02.10 from F-droid) which gives enough info on that even without root. You will be surprised. There are "feedbacks" to google, to the vendor, and also to Microsoft, even without launching anything, just the wifi on. Even the caller app has trackers...
The best thing is that this (GPL) app lets you know what package causes the leak. You can just write them down, for later deletion.
It turns out, I could delete all of them (mainly from system.img, monted again on Linux) without that anything breaks.
I replaced the caller/dialer, calender, contact, everything, by new default apps. Replaced the Wiko launcher by the Fairphone launcher (from F-Droid).
I installed ungoogled chromium from https://github.com/wchen342/ungoogled-chromium-android/releases (chrome public). (Strangely could not install other browsers!). I replaced Google TTS by "eSpeak NG" (the final config is a little bit tough : have to download "espeak-ng-data" (voices) and push it to the "sdcard" then, slowly, it finds it and it works. (Well, ok, its not the fine google tts thats far the best actually, but its still a tts...) And yes, there is still the keyboard to tap keywords to look for. ;-)
g) When done, take and mount again the system.img file (you flashed) and take out what (following the list of tracker apps found by "TrackerControl", which are mainly (for me) : (for howto, see d) above)
/system/priv-app/phonesky // playstore : com.android.vending
/system/priv-app/GoogleDialerGo // contains trackers!
/system/priv-app/GmsCore // googleplayservices (yes it works without it)
/system/priv-app/WIKOSetupWizard
/system/priv-app/WIKOLauncher // easyly replaced (by Fairphone's 1/2/3)
/system/priv-app/WIKOInstaller
/system/priv-app/AppCloud // wiko appstarter (77 trackers)
/system/priv-app/SearchSpeachService // (google) tracker by definition
/system/priv-app/AntitheftPlugin
can be removed as well (and still some others, but its more wise to stop here, till it still works ;-)
NB : The 3 "Vital-app", probably commercial boudles, must be really present but they can be uninstalled cleanly (weather, smart-assistance, gaming).
Finally, enjoy your non-rooted, but privacy tuned Wiko Sunny 3, and install clean FOSS apps from F-Droid (or from elswhere).
One more thing: Its not because an app is "free and open source" that it won't track you : choose your apps carefully, observing all permissions they ask for.
For example, there isn't much acceptable explanation for a calculator to claim "full network access" or a game to be "launched at startup" or get "system configuration" rights.
And sadly, as we still do not have root access on this device, there isn't much control available on apps, permissions, network or system. But it is possible now to free it from big-tech trackers, as much as possible.
Of course, as usually in these cases, I cannot guarantie anything. It just worked for me like that (reproduced several times), and I think there is no reason that for anybody else it would produce a differet outcome.
Your comments are allways welcome.