[MOD][VZW][AT&T][SPR] Native tether - Moto X Themes and Apps

Requires root access
I went ahead and patched the app that check's for subscription on Verizon when trying to enable WiFi or USB Tether.
I may self have an unlimited data plan and have been declined tethering because of my use.
This needs to be installed in the /system that means if you reboot you will have to redo these steps again.
Download the apk below
Code:
adb push VzwEntitlementService.apk /data/local/tmp/VzwEntitlementService.apk
adb shell
su
mount -o remount,rw /system
rm /system/app/VzwEntitlementService.apk
rm /system/app/VzwEntitlementService.odex
cat /data/local/tmp/VzwEntitlementService.apk > /system/app/VzwEntitlementService.apk
mount -o remount,ro /system
exit
exit
Do not reboot
Q) What code was replaced?
I return a false value in class *DialogActivity I basically remove everything listed in isVZWAccount or isATTAccount and replace with this.
Code:
.method private isATTAccount(Ljava/lang/String;)Z
.locals 1
.prologue
.line 212
const/4 v0, 0x0
return v0
.end method
This const/4 v0, 0x0 is a false const change 0x0 to 0x1 will make it true. We then return that const using return v0; v0 = 0x0;
I was going to wait to post but can't really do any harm as long as you followed this.
Q) What was patched ?
A) There is a check to verify if the phone is a Verizon phone, if its true it checks if you have tethering on your plan. I just removed the whole check and always return false. After that it no longer checks if you have tethering on your plan.
Added AT&T Entitlement Service.apk its pre-patched.
Added the Sprint patched version thanks to jonnrb see his post in this thread. I have not personally tested it. Hope he is okay with adding it to the first page.

Once system r/w is enabled you will be able to make this permanent right? So that it stays enabled even when rebooting?
Sent from my Nexus 7

phositadc said:
Once system r/w is enabled you will be able to make this permanent right? So that it stays enabled even when rebooting?
Sent from my Nexus 7
Click to expand...
Click to collapse
Yes once system has r/w access you can make this a permanent solution.

Can this be installed from your phone?

Squintz said:
Can this be installed from your phone?
Click to expand...
Click to collapse
Yeah you can keep a copy of it in /data/local/tmp
That way you can just run the terminal commands or build a shell script to run them for ease.

Awesome, great job. Can't wait till r/w enabled.
Sent from my Nexus 7 using Tapatalk 4

deleted

amoamare said:
Requires root access
I went ahead and patched the app that check's for subscription on Verizon when trying to enable WiFi or USB Tether.
I may self have an unlimited data plan and have been declined tethering because of my use.
This needs to be installed in the /system that means if you reboot you will have to redo these steps again.
Download the apk below
Code:
adb push VzwEntitlementService.apk /data/local/tmp/VzwEntitlementService.apk
adb shell
su
mount -o remount,rw /system
rm /system/app/VzwEntitlementService.apk
rm /system/app/VzwEntitlementService..odex
cat /data/local/tmp/VzwEntitlementService.apk > /system/app/VzwEntitlementService.apk
exit
exit
Do not reboot
I was going to wait to post but can't really do any harm as long as you followed this.
Q) What was patched ?
A) There is a check to verify if the phone is a Verizon phone, if its true it checks if you have tethering on your plan. I just removed the whole check and always return false. After that it no longer checks if you have tethering on your plan.
Click to expand...
Click to collapse
After doing this, should the /system partition be remounted as read only? I'm making a script to automatically do this at boot.
BTW thanks for the app, much appreciated!

terabyte128 said:
After doing this, should the /system partition be remounted as read only? I'm making a script to automatically do this at boot.
BTW thanks for the app, much appreciated!
Click to expand...
Click to collapse
Its always a good idea no idea why i left it out haha.
adb shell mount -o remount,ro /system

amoamare said:
Its always a good idea no idea why i left it out haha.
adb shell mount -o remount,ro /system
Click to expand...
Click to collapse
When I try to do this using scripter I get the error "device busy." The hotspot works but I'm worried it's not remounting it, any ideas? Here's the script (I just modified yours slightly):
Code:
mount -o remount,rw /system
rm /system/app/VzwEntitlementService.apk
rm /system/app/VzwEntitlementService..odex
cat /storage/emulated/legacy/VzwEntitlementService.apk > /system/app/VzwEntitlementService.apk
mount -o remount,ro /system

Also, do youhappen to know of any good tutorials for learning how to decompile/recompile APKs? I'm trying to better understand how they work. I was able to decompile the original VzwEntitlementCheck.apk and change the appropriate lines of code, but I can't figure out how to recompile it.
Thanks!

tnx

amoamare said:
Requires root access
I went ahead and patched the app that check's for subscription on Verizon when trying to enable WiFi or USB Tether.
I may self have an unlimited data plan and have been declined tethering because of my use.
This needs to be installed in the /system that means if you reboot you will have to redo these steps again.
Download the apk below
Code:
adb push VzwEntitlementService.apk /data/local/tmp/VzwEntitlementService.apk
adb shell
su
mount -o remount,rw /system
rm /system/app/VzwEntitlementService.apk
rm /system/app/VzwEntitlementService..odex
cat /data/local/tmp/VzwEntitlementService.apk > /system/app/VzwEntitlementService.apk
mount -o remount,ro /system
exit
exit
Do not reboot
I was going to wait to post but can't really do any harm as long as you followed this.
Q) What was patched ?
A) There is a check to verify if the phone is a Verizon phone, if its true it checks if you have tethering on your plan. I just removed the whole check and always return false. After that it no longer checks if you have tethering on your plan.
Click to expand...
Click to collapse
Sent from my XT1060 using xda app-developers app

For those of us who have installed PwnMyMoto and can write to system - do the steps remain the same? Or is there something different we should do?
Thanks for this and any help.
****EDIT****
Got it figured out. Thanks for your work.

rooted phone, tried installing the apk, it says app not installed. any ideas? thanks

ericizzy1 said:
rooted phone, tried installing the apk, it says app not installed. any ideas? thanks
Click to expand...
Click to collapse
Well a couple of things (and the OP can of course correct any mistakes I may make here)...
It's a system app so you do not install it. You place is in /system and give it the proper permissions.
Have you used @jcase's PwnMyMoto.apk yet? His new release allows for writing to the system partition. You can either follow the OP's instructions or there are probably a couple of other options.
What I did was install jcase's newly released exploit to get access to system write. Then I renamed the existing system apps VZWentitlement.apk and VZWentitlment.apk.odex with a .bak (for backup). Then with RootExplorer I moved the OP's modified .apk to the system folder and changed the permissions to match the other system app permissions.
Reboot.
Or reboot recovery.
Should be ready to go.

Thanks, worked like a charm
Sent from my XT1060 using xda app-developers app

thepolishguy said:
Well a couple of things (and the OP can of course correct any mistakes I may make here)...
It's a system app so you do not install it. You place is in /system and give it the proper permissions.
Have you used @jcase's PwnMyMoto.apk yet? His new release allows for writing to the system partition. You can either follow the OP's instructions or there are probably a couple of other options.
What I did was install jcase's newly released exploit to get access to system write. Then I renamed the existing system apps VZWentitlement.apk and VZWentitlment.apk.odex with a .bak (for backup). Then with RootExplorer I moved the OP's modified .apk to the system folder and changed the permissions to match the other system app permissions.
Click to expand...
Click to collapse
Are you saying you used RootExplorer to do all of this versus using adb commands? I actually followed this but when I try to enable my hotspot I get a message ' Unfortunately, Settings has stopped.'
EDIT: Rebooted phone and all is good!

nimos001 said:
Are you saying you used RootExplorer to do all of this versus using adb commands? I actually followed this but when I try to enable my hotspot I get a message ' Unfortunately, Settings has stopped.'
EDIT: Rebooted phone and all is good!
Click to expand...
Click to collapse
Yes I did. Glad it worked out for you.

thepolishguy said:
Well a couple of things (and the OP can of course correct any mistakes I may make here)...
It's a system app so you do not install it. You place is in /system and give it the proper permissions.
Have you used @jcase's PwnMyMoto.apk yet? His new release allows for writing to the system partition. You can either follow the OP's instructions or there are probably a couple of other options.
What I did was install jcase's newly released exploit to get access to system write. Then I renamed the existing system apps VZWentitlement.apk and VZWentitlment.apk.odex with a .bak (for backup). Then with RootExplorer I moved the OP's modified .apk to the system folder and changed the permissions to match the other system app permissions.
Reboot.
Or reboot recovery.
Should be ready to go.
Click to expand...
Click to collapse
This method worked perfectly for me. Now have free Wi-fi Tether with out THE MAN (Verizon) trying to hassle me to pay.

Related

[HOW-TO] Backup your files before rooting

To fully root your EVO, you must apply a couple of updates over the top of your current installation. They will completely erase your user data.
To backup your files before rooting:
- Plug in your phone to your computer
- Make sure you have adb installed.
- Download the unrEVOked userland root.
- Open a terminal and cd into your downloads folder (e.g. cd ~/Downloads)
- Type the following:
Code:
adb install unrevoked.apk
adb shell
su
-- Look at your phone screen. Superuser Permissions is asking you if terminal has
permission to become root. Click allow. --
mkdir /sdcard/backup/
busybox cp -R /data /sdcard/backup/data
This will place a full copy of your userdata partition on your sdcard. To restore files back to your userdata partition after the root, simply use busybox cp to move them back. If your new ROM didn't include busybox, download and install it:
Code:
adb push busybox /system/bin/busybox
adb shell
chmod 755 /system/bin/busybox
I haven't tried copying all my userdata from the sdcard back to the data partition. I've simply used this method to backup and restore files I really didn't want to lose (like my bike calculator logs). I don't know if you could circumvent the wipe by copying your whole data backup back to the data partition after rooting. If you'd like to try and find out, please leave your results in the comments.
I've noticed that the files I've restored from my sdcard back to /data/data have root permissions. In Android, each app gets its own user account that has permissions to its data. If you don't fix the permissions, your apps won't be able to save their data. I don't know how to lookup which app gets which user account, but once you figure it out, you can do this:
Code:
cd /data/data/com.myapp
chown app_83.app_83 ./*
where myapp and app_83 are replaced with the values you are changing. joeykrim has posted a link which may help you do this automatically (fix_permissions.sh) in his thread.
theillustratedlife said:
I've noticed that the files I've restored from my sdcard back to /data/data have root permissions. In Android, each app gets its own user account that has permissions to its data. If you don't fix the permissions, your apps won't be able to save their data.
Click to expand...
Click to collapse
i never got that far, w/o restoring the correct permissions the apps won't load and puts android into a continuous boot loop and it will keep trying to load the apps but the permissions wont match.
theillustratedlife said:
I don't know how to lookup which app gets which user account
Click to expand...
Click to collapse
i think the permissions are kept in /data/system/packages.xml ...
theillustratedlife said:
joeykrim has posted a link which may help you do this automatically (fix_permissions.sh) in his thread, but the link currently appears to be down.
Click to expand...
Click to collapse
switched hosting providers, this link got lost in the shuffle. its http://www.joeyconway.me/evo/apps/fix_permissions.sh . updated my post. thanks!
Interesting. I've only used this trick to restore data selectively. I haven't tried moving the whole backup back into my /data partition.
Thanks for the heads up.

Simple (not one-click) root for stock ROM & kernel

Update: One click root has been using this "simple" method since version 2.2.7. If you're rooting your phone for the first time, please try that first. Consider this thread to be purely informational for those who want step-by-step details of how the process works.
I've been suspicious of the joeykrim root method since it was first posted at SDX. I finally got my Epic yesterday and confirmed that is, indeed unnecessary. I don't fault joeykrim though, he ported the working root method from the Moment to the Epic without actually having access to an Epic himself.
Anyways, the joeykrim root method is unnecessarilly complex becuase it works around an RFS permissions bug which loses the setuid bit on the Moment. It appears the Galaxy S phones have this bug fixed, which is why the root methods on the I9000, Vibrant, Captivate, Fascinate, etc., are much simpler.
So, for the simple root:
First, make sure joeykrim root is not installed.
Upgrade to DI18 (not strictly necessary, but you'll want to do it).
Setup a working adb from the Android SDK and whatever drivers are necessary for your platform.
Download rageagainstthecage-arm5.bin from the C skills blog (link removed due to my newbieness) or from any of the one-click root packages.
Download su-2.3.6.1-ef-signed.zip and extract "system/bin/su" and "system/app/Superuser.apk" to a temporary directory you'll be working from.
Enable USB debugging on your phone and connect it to your computer.
Now, open a command prompt/shell on your computer and cd to the appropriate temporary directory. Run:
Code:
adb push rageagainstthecage-arm5.bin /data/local/tmp
adb shell chmod 755 /data/local/tmp/rageagainstthecage-arm5.bin
adb shell /data/local/tmp/rageagainstthecage-arm5.bin
and confirm you have a working root shell. Then continue with:
Code:
adb push su /system/xbin
adb shell chmod 4755 /system/xbin/su
adb install Superuser.apk
That's it! You should have a working root via su & the Superuser package. At least, I did.
Note that the preceeding steps installs Superuser.apk to /data, which is what I prefer to do. This means if you do a "Factory data reset" su will be temporarilly broken until you reinstall the Superuser.apk package. Since installing the package itself doesn't require root, this is easily done after a /data reset.
Also note that I did not perform a /system remount-rw anywhere. At least on my Epic, /system appears to always be mounted read-write so it's an unnecessary step. It's actually the "joeykrim-root.sh" script that remounts /system read-only during the boot process, which is why folks who don't use root kernels have run into this problem before. I'm not sure why joeykrim's script does that, I guess he probably assumed /system is mounted read-only by default. There's arguments that /system should be read-only, but I didn't touch it in case some Samsung stuff depends on it being read-write.
Finally, if you're already rooted via joeykrim or are running a root kernel, there's nothing really to be gained by doing this. I'm just throwing this out there as I perfer to make the minimum invasive changes possible to obtain root.
Wow, that was really informative. To check for Super user you:
Type: adb shell
then type: SU
You should get a # sign if you have root. Correct?
In the original Noobln post method would the Epic keep root even after a wipe therefore not needing to re-apply the superuser apk again? That might be a reason why folks would want to go the more invasive route (considering rooters seems to change ROMS fairly often which requires wipes sometimes). Either way, keeping a copy of the apk file on your SD card is no big deal.
mkasick said:
Also note that I did not perform a /system remount-rw anywhere. At least on my Epic, /system appears to always be mounted read-write so it's an unnecessary step. It's actually the "joeykrim-root.sh" script that remounts /system read-only during the boot process, which is why folks who don't use root kernels have run into this problem before. I'm not sure why joeykrim's script does that, I guess he probably assumed /system is mounted read-only by default. There's arguments that /system should be read-only, but I didn't touch it in case some Samsung stuff depends on it being read-write.
Click to expand...
Click to collapse
This explains a lot of problems! thanks
EDIT- another noob question- why do you prefer to have superuser installed to /system/data- why not put it in /system/app? Also if I want to install busybox where is the best location to put it?
ZenInsight said:
Wow, that was really informative. To check for Super user you:
Type: adb shell
then type: SU
You should get a # sign if you have root. Correct?
Click to expand...
Click to collapse
Once you run rageagainstthecage-arm5.bin, you should get a root-shell automatically every time you run "adb shell" after until you reboot the phone. Yes, you can tell it's a root shell since it uses the "#" prompt. This is the important part to check, since if the exploit doesn't work, you'll have to run it again. But I haven't seen it not work.
After su is installed and you reboot, your steps are correct: run "adb shell", run "su", then you'll be prompted on the phone scren to authorize access and once you allow it you'll end up with a "#" prompt.
ZenInsight said:
In the original Noobln post method would the Epic keep root even after a wipe therefore not needing to re-apply the superuser apk again?
Click to expand...
Click to collapse
noobnl installs Superuser.apk to /system, you can do that here too. Just replace the "adb install Superuser.apk" step with "adb push Superuser.apk /system/app". It's independent of the joeykrim scripts.
With my captivate we have many update.zip root methods to choose from. Any chance this will be coming to the epic? Have a friend with an epic and command lines would be too much and one click didn't work.
Sent from my SAMSUNG-SGH-I897 using XDA App
jimmyz said:
why do you prefer to have superuser installed to /system/data- why not put it in /system/app?
Click to expand...
Click to collapse
I prefer to keep consistent with the idea that user-installed applications go in /data, and stock-installed-and-unmodified applications remain in /system/app. This way, upgrading Superuser.apk doesn't require a root-shell/root-explorer, you can remove it or upgrade it the way you do with any user installed application--adb install, side-loading via an sdcard, or downloading it from the market.
Plus, in general I prefer to keep my /system as untouched as possible. For example, I don't remove stock apps either. The "su" binary has to be installed in /system to persist after a /data wipe, and busybox is best installed to /system so it's in PATH (haven't looked into modifying the default PATH yet). Otherwise I try to keep /system alone.
jimmyz said:
Also if I want to install busybox where is the best location to put it?
Click to expand...
Click to collapse
Android's default PATH provides four places for busybox to be installed: /sbin, /system/bin, /system/sbin, and /system/xbin. /sbin is part of the initramfs, in other words it's controlled by the kernel you're running. You can install busybox to any of the three /system/*bin directories, but I prefer /system/xbin.
In the traditional Unix conventions, "/usr/bin" is for user-runnable stock-installed programs, and "/usr/sbin" is for root-requiring (superuser-runnable) stock-installed programs. "xbin" isn't part of the standard convention, but I'd guess it's intended for "extra binaries" that are not part of the stock installation (much like /usr/local/bin), thus it seems like an appropriate location for a user-added "su" and "busybox" programs.
The second reason is that "xbin" is relatively empty, so if you want to create the applet symlinks (i.e., so that you can call "cp" instead of "buybox cp") it won't overwrite the stock toolbox symlinks. Also, since "xbin" is last on the default PATH, any programs provided by both toolbox and busybox will default to the toolbox version--which would be important for stock system scripts that might run into compatibility issues if they were to use the busybox versions instead.
To install busybox, grab a copy of the binary from somewhere (one click packages, a copy of stericson.busybox.apk, etc.). Then, once rooted run:
Code:
adb push busybox /data/local/tmp
adb shell
su # Authorize on phone screen
cat /data/local/tmp/busybox > /system/xbin/busybox
chown root.shell /system/xbin/busybox
chmod 755 /system/xbin/busybox
rm /data/local/tmp/busybox
/system/xbin/busybox --install -s /system/xbin
jhnstn00 said:
With my captivate we have many update.zip root methods to choose from. Any chance this will be coming to the epic?
Click to expand...
Click to collapse
I don't believe so. The I9000/Vibrant/Captivate have recoveries that don't check the signature of update.zip (as I understand, or maybe they do but only require test keys) which makes rooting-via-recovery possible. Unfortuntaely the Epic and Fascinate do perform signature checks, so we can't enable root via stock-recovery.
That said, the Fascinate one-click methods should also work on the Epic. Although depending on why your friend couldn't get the Epic one-click to work, the Fascinate one may not work either.
mkasick said:
I prefer to keep consistent with the idea that user-installed applications go in /data, and stock-installed-and-unmodified applications remain in /system/app. This way, upgrading Superuser.apk doesn't require a root-shell/root-explorer, you can remove it or upgrade it the way you do with any user installed application--adb install, side-loading via an sdcard, or downloading it from the market.
Plus, in general I prefer to keep my /system as untouched as possible. For example, I don't remove stock apps either. The "su" binary has to be installed in /system to persist after a /data wipe, and busybox is best installed to /system so it's in PATH (haven't looked into modifying the default PATH yet). Otherwise I try to keep /system alone.
Android's default PATH provides four places for busybox to be installed: /sbin, /system/bin, /system/sbin, and /system/xbin. /sbin is part of the initramfs, in other words it's controlled by the kernel you're running. You can install busybox to any of the three /system/*bin directories, but I prefer /system/xbin.
In the traditional Unix conventions, "/usr/bin" is for user-runnable stock-installed programs, and "/usr/sbin" is for root-requiring (superuser-runnable) stock-installed programs. "xbin" isn't part of the standard convention, but I'd guess it's intended for "extra binaries" that are not part of the stock installation (much like /usr/local/bin), thus it seems like an appropriate location for a user-added "su" and "busybox" programs.
The second reason is that "xbin" is relatively empty, so if you want to create the applet symlinks (i.e., so that you can call "cp" instead of "buybox cp") it won't overwrite the stock toolbox symlinks. Also, since "xbin" is last on the default PATH, any programs provided by both toolbox and busybox will default to the toolbox version--which would be important for stock system scripts that might run into compatibility issues if they were to use the busybox versions instead.
To install busybox, grab a copy of the binary from somewhere (one click packages, a copy of stericson.busybox.apk, etc.). Then, once rooted run:
Code:
adb push busybox /data/local/tmp
adb shell
su # Authorize on phone screen
cat /data/local/tmp/busybox > /system/xbin/busybox
chown root.shell /system/xbin/busybox
chmod 755 /system/xbin/busybox
rm /data/local/tmp/busybox
/system/xbin/busybox --install -s /system/xbin
Click to expand...
Click to collapse
You sir are a true gentleman! Thank you for the informative answers- its great to have you over here! I have one more question- why can't I usually push directly to /system ?
jimmyz said:
why can't I usually push directly to /system ?
Click to expand...
Click to collapse
Pushing directly to /system requires running the adb service on the phone as the root user, so that it has permissions to write to that directory. Usually adb runs on the phone unprivileged, so you can only push to world-writable directories.
Running rageagainstthecage-arm5.bin actually changes this. The exploit forces the adb service to run as the root user, which is why "adb shell" gives you a root shell and "adb push" to /system does work, until the phone is restarted.
Interesting enough, the adb service also runs as root by default in the Android emulator. So there's probably a configuration setting, somewhere, to make it do that. In general it's safer to run adb unprivileged though, and "su" to move files to /system once uploaded elsewhere on the phoe.
mkasick said:
Pushing directly to /system requires running the adb service on the phone as the root user, so that it has permissions to write to that directory. Usually adb runs on the phone unprivileged, so you can only push to world-writable directories.
Running rageagainstthecage-arm5.bin actually changes this. The exploit forces the adb service to run as the root user, which is why "adb shell" gives you a root shell and "adb push" to /system does work, until the phone is restarted.
Interesting enough, the adb service also runs as root by default in the Android emulator. So there's probably a configuration setting, somewhere, to make it do that. In general it's safer to run adb unprivileged though, and "su" to move files to /system once uploaded elsewhere on the phoe.
Click to expand...
Click to collapse
I am learning a lot!!! Could you take a look at koush's kernel here, with it I noticed that when using adb I got the # prompt right away and was able to push to /system- maybe he was able to figure out the config settings? Once again thanks!!!
one more ? (feel free to ignore this one) what actually happens when you do
Code:
adb shell /data/local/tmp/rageagainstthecage-arm5.bin
and how does that give you permanent root?
mkasick said:
Pushing directly to /system requires running the adb service on the phone as the root user, so that it has permissions to write to that directory. Usually adb runs on the phone unprivileged, so you can only push to world-writable directories.
Running rageagainstthecage-arm5.bin actually changes this. The exploit forces the adb service to run as the root user, which is why "adb shell" gives you a root shell and "adb push" to /system does work, until the phone is restarted.
Interesting enough, the adb service also runs as root by default in the Android emulator. So there's probably a configuration setting, somewhere, to make it do that. In general it's safer to run adb unprivileged though, and "su" to move files to /system once uploaded elsewhere on the phoe.
Click to expand...
Click to collapse
It is indeed a config option in default.prop. However, this is in the initramfs and you can't change it on the fly, so you need to rebuild the kernel to change it. With some work you can modify the stock kernel to do it, but I personally haven't tried it.
Sent from my Epic 4G using XDA App
Thank you, this worked perfectly for me, running stock DI18 ROM that I flashed tonight!!! I confirmed by installing the wireless tethering pre-9 apk, and successfully ran the wireless tethering without any errors.
Quick question: do we need to do this after root or is it not needed?
NEEDED?? ===> SuperUser App to help with Security Concerns for the Epic - h**p://forum.sdx-developers.com/epic-development/superuser-app-to-help-with-security-concerns/
Also, Titanium Backup failed to work - it gave an error of denied root access, and said busybox was not installed. What needs to be done to make it work? Do I need to install clockwork mod (not exactly sure what it does though) or a custom ROM?
AndroidSPCS said:
Quick question: do we need to do this after root or is it not needed?
Click to expand...
Click to collapse
Not sure exactly what you're asking. This is an alternative to the joeykrim-based one-click roots and rooted kernels. If you already have one of those this isn't really necessary.
AndroidSPCS said:
NEEDED?? ===> SuperUser App
Click to expand...
Click to collapse
Yes, the su binary used here requires the Supruser appto be installed to authorize su requests. Otherwise they'll always be denied. Other su binaries might not require it, but then all apps have root access which isn't really a good thing.
AndroidSPCS said:
Also, Titanium Backup failed to work - it gave an error of denied root access, and said busybox was not installed. What needs to be done to make it work?
Click to expand...
Click to collapse
Did you authorize Titanium Backup when the Superuser prompt came up (requies the Superuser app to be instald too)?
Titanium Backup has an option to download and install it's preferred version of busybox. Follow the prompts to do that.
mkasick said:
Not sure exactly what you're asking. This is an alternative to the joeykrim-based one-click roots and rooted kernels. If you already have one of those this isn't really necessary.
Click to expand...
Click to collapse
Thanks, actually this was referring to the thread where the instructions for going to adb shell or terminal and typing in the following commands:
adb shell
su
mount -t rfs -o remount,rw /dev/block/stl9 /system
cp /system/bin/su /system/bin/jk-su
exit
Yes, the su binary used here requires the Supruser appto be installed to authorize su requests. Otherwise they'll always be denied. Other su binaries might not require it, but then all apps have root access which isn't really a good thing.
Click to expand...
Click to collapse
Yes same as above, the question is not whether we need SU app (I know we do), but whether we needed to type the additional commands:
adb shell
su
mount -t rfs -o remount,rw /dev/block/stl9 /system
cp /system/bin/su /system/bin/jk-su
exit
What do these commands do? It seems to me my Superuser app is working fine with wifi tether - popping up with allow / disable permission boxes, etc. Do these commands add something else to Superuser?
Did you authorize Titanium Backup when the Superuser prompt came up (requies the Superuser app to be instald too)?
Titanium Backup has an option to download and install it's preferred version of busybox. Follow the prompts to do that.
Click to expand...
Click to collapse
There was no Superuser prompt during the install of the app, nor anytime when it said it had a failure with root access. However there is an option to install BusyBox, which I have not done yet, because I am not sure what busybox is, or what it does. I'd like to find out why I need it and what it does, so I can feel comfortable with installing it.
Thanks again.
echo "root::0:0:root:/data/local:/system/bin/sh" > /etc/passwd
echo "root::0:" > /etc/group
you need to do that in a shell to make sure su works properly.
I'm updating the one click root right now to be less silly.
http://forum.xda-developers.com/showpost.php?p=8543226&postcount=455
I just cleaned up the one click root to not do many of the silly things joeykrim's root does. It also means your system will be mounted as rw after a reboot and it won't overwrite your su with jk-su every boot (no more modified playlogo).
Cleaned up all the old stuff from the root so it should work fine even if you were using one of the older one clicks. I made sure su works, incl titanium backup.
I'm still installing superuser.apk to /system/app because I think it belongs there.
Thanks for doing the footwork, mkasick!
Firon said:
http://forum.xda-developers.com/showpost.php?p=8543226&postcount=455
I just cleaned up the one click root to not do many of the silly things joeykrim's root does. It also means your system will be mounted as rw after a reboot and it won't overwrite your su with jk-su every boot (no more modified playlogo).
Cleaned up all the old stuff from the root so it should work fine even if you were using one of the older one clicks. I made sure su works, incl titanium backup.
I'm still installing superuser.apk to /system/app because I think it belongs there.
Thanks for doing the footwork, mkasick!
Click to expand...
Click to collapse
Firon- why are these lines still needed?
Code:
adb push playlogo /system/bin/playlogo
what is playlogo? Does this just put the stock one back in case you used the joeykrim method in the past?
Code:
adb push remount /system/xbin/remount
Are the remount scripts still needed?
Code:
adb shell ln -s /system/xbin/su /system/bin/su
why is this link needed? why cant su just be in xbin
thanks in advance!
Code:
jimmyz said:
Firon- why are these lines still needed?
Code:
adb push playlogo /system/bin/playlogo
what is playlogo? Does this just put the stock one back in case you used the joeykrim method in the past?
Click to expand...
Click to collapse
This is just pushing the stock playlogo, since joeykrim's method overwrites it with some custom script.
Code:
adb push remount /system/xbin/remount
Are the remount scripts still needed?
Click to expand...
Click to collapse
The script allows you to easily remount system as ro or rw at will. Why not?
Code:
adb shell ln -s /system/xbin/su /system/bin/su
why is this link needed? why cant su just be in xbin
Click to expand...
Click to collapse
I don't know if any apps depend on it being in a particular location. It is in xbin, but I'm also linking it to /system/bin to be safe.
AndroidSPCS said:
What do these commands do? It seems to me my Superuser app is working fine with wifi tether - popping up with allow / disable permission boxes, etc. Do these commands add something else to Superuser?
Click to expand...
Click to collapse
These commands were necessary to get Superuser working with the old joeykrim root method. They're not necessary with this method (or the newly released one-click). In other words, if wifi-tethering is already working for you, nothing further is needed to be done.
AndroidSPCS said:
There was no Superuser prompt during the install of the app, nor anytime when it said it had a failure with root access.
Click to expand...
Click to collapse
I don't actually use TitaniumBackup. I'm not sure why its superuser-requirements would be different from other apps, but I guess it is. The new one-click appears to address this.
AndroidSPCS said:
However there is an option to install BusyBox, which I have not done yet, because I am not sure what busybox is, or what it does. I'd like to find out why I need it and what it does, so I can feel comfortable with installing it.
Click to expand...
Click to collapse
Busybox is a suite of "familar" Unix command-line utilites (things like cp (copy), mv (move), ls (list), etc.). It targets embedded platforms by being very featureful, yet relatively small. It's installed and used on a wide variety of embedded devices including wireless routers, print servers, phones, even televisions.
Oddly enough, Android does not include busybox by default. Instead it comes with it's own utility-programs-package called "toolbox" that isn't nearly as featureful, and quickly becomes a pain to use. Some programs, like TitaniumBackup depend on busybox programs/features, and thus require it's installation. It's safe.
The only problem with busybox is that there's not one single version of it. There's multiple builds of it from the same source code with different sets of features turned on and off. In the past, some folks had a version of busybox installed that didn't contain all the features necessary to support TitaniumBackup, so they added the option to install their own version. It's installed in a separate location, so it won't overwrite any version you do have installed, and it's safe to do. But if you've already installed another version of busybox that does work, then it may be unnecessary.
I did the Jokeyrim method a few days ago. I installed a new kernal and now a new ROM. All seems ok, but ow when I do the "whoami" command in adb shell I get whoami not found. I don't think I'm really rooted anymore. Any attempt to reinstall the Jokeyrim root script results in failure (mostly "device not found" errors). When in adb shell, most commands I type now are either "not found" or "permission denied", so I'm not confident that I'm really rooted now.
Since I have / had Jokeyrim installed, how can I "uninstall" it so that I can use this method of rooting instead? BTW, the newest Clockworkmod is installed and working.
Do I need to flash to stock first? Sorry, but I'm a VERY STOOPID NOOB.

[HOW TO] Root Motorola Defy

I've seen that there's no topic teaching how to ROOT the phone in the forum yet, so I'm making one myself, I hope this will help users who come here looking for info.
This method was originally found by jboogie3 here http://modmymobile.com/forums/637-motorola-defy-general/557910-motorola-defy-root-droid2method.html
EDIT: If you have version 2.51 ROOT with another way, check out this topic: http://forum.xda-developers.com/showthread.php?t=889133
Let's get started:
1. Put the phone in Debug Mode: Go to Settings > Applications > Development and check USB debugging box.
2. Extract the files from the zip below, connect the phone via USB, and copy them to the phone via ADB like this:
Code:
adb push Superuser.apk /sdcard/Superuser.apk
adb push su /sdcard/su
adb push busybox /sdcard/busybox
adb push exploit.bin /data/local/tmp/exploit.bin
3. Now we enter the phone's internal shell, also using ADB:
Code:
adb shell
4. Then we take advantage of the "fake" root exploit:
Code:
cd /data/local/tmp
chmod 0755 exploit.bin
./exploit.bin
5. Now after that last command you should be back to your normal console, not the phone one, so we need to connect to it again, and doing so we should now see that we have root permissions since the "#" symbol is displayed instead of "$".
Code:
adb shell
6. Now we mount the /system partition as writable and copy the necessary files there, and set them with the right permissions:
Code:
mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system
cp /sdcard/Superuser.apk /system/app/Superuser.apk
cp /sdcard/su /system/bin/su
cp /sdcard/busybox /system/bin/busybox
chmod 4755 /system/bin/su
chmod 4755 /system/bin/busybox
mount -o ro,remount -t ext3 /dev/block/mmcblk1p21 /system
exit
7. Restart the phone and check if you have ROOT in a terminal by typing the "su" command, or by installing any other app that requires ROOT, and seeing it the SuperUser app pops up.
Or, download z4root by ryan in the market. Click permanent root, done.
Sent from my MB525 using XDA App
Many people reported z4root to work, but somehow it didn't work for me :\, phone reboot 2 times, but root wasn't being recognized system wide. But yeah, there's no problem testing that first, if it works for you it's way simpler
Worked well for me. Almost too easy.
Thank you for the great write up though.
pedrodh said:
Many people reported z4root to work, but somehow it didn't work for me :\, phone reboot 2 times, but root wasn't being recognized system wide. But yeah, there's no problem testing that first, if it works for you it's way simpler
Click to expand...
Click to collapse
Sent from my MB525 using XDA App
Well, at least this will help people know what's going on in the background for achieving ROOT hehe
Thanks for posting and distur for the z4root tip, worked for me.
Sent from my MB525 using XDA App
Yep. z4root worked for me as well. Perfect.
Nice writeup! very detailed
thx !!!
thanks much
z4root worked for me as well. no issues and running for more than a week now rooted. haven't tried the unroot function yet...
I made it also with z4root...no problem so far
root
are we talking super 1 click, rooted mine 1st day i got it same method as droid no probs so far, all the crap from vodafone gone now, waiting for a nice rom
I heard that the DORoot works as well. There are also links on how to root on the Droid 2. I'd think it would be similar.
http://forum.xda-developers.com/showthread.php?t=782556
hi first time android newbie here-
i downloaded and install z4root - how do i confirmed the device was rooted?
After rooting, in your application drawer (middle button that brings up all your apps) you'll see the superuser app. It looks like an android skull and crossbones.
I have a Motorola Defy on T-Mobile UK, If I use z4root will this enable me to root my phone.
Exactly what does rooting achieve, Will it allow me to try another rom?
Yes, z4root will let you achieve root on this phone.
ROOT has nothing or very little to do with custom ROMs, ROOT it's the Unix super user, the administrator per say. With it certain apps that modify system properties will work (search Android Market for "root"), and also it enables you to do all sorts of crazy stuff on the phone, like literaly modify any file. So if for example there's an app that bundles with the phone, and that you normaly couldn't unistall it, with ROOT you can just delete the app, and that's it . That's and many more things, although root it's most usufull for developers or hackers than the normal user. It's not like jailbreaking an Iphone, Android it's already open enough for the regular user.
If I root the Motorola Defy and I delete some files because I not familiar with this, will I make my Motorola Defy dead.
croxley said:
If I root the Motorola Defy and I delete some files because I not familiar with this, will I make my Motorola Defy dead.
Click to expand...
Click to collapse
Rooting doesn't delete files If you've rooted your phone, you won't be able to just go to the system folder and delete something. You need tools like "root exporer" for this. This is a payware. When you rooted your phone, this root explorer can ask you for more rights. These are needed to delete needed files. Also you can do it for free with the androidSDK. Have a look here: http://forum.xda-developers.com/showpost.php?p=9456771&postcount=1
but be: don't do thinks where you don't know to get it undone. You CAN brick your phone and then you'll have to spend much time to get it back working.

Rooting 2.3.6 Samsung Replenish!!! Success!!!

alt link: http://forums.androidcentral.com/sa...-guide-stock-2-3-6-replenish.html#post1651482
REVISED TUTORIAL IN ROOTING 2.3.6 SAMSUNG REPLENISH
warning for experienced adb users!: this was made with noobs in mind. you may learn something (from me! a noob! XD) but anyways, enjoy!
this does not affect anything on the phone except for adding the ability to access root permissions. CWM is not permanent, it disappears after you use it, and nothing on the phone is affected, as far as i know, but i had just factory reset the phone, so use at your own risk...
you may need to know:
root of a drive- drives are designated C:\ or D:\ or whatever letter in windows. Just go to "computer" and double click the first item. That location is the "root" of a drive.
Note: make sure you have at least 400 mb of memory (i know, thats alot, but just in case) on your sd card so you can back up your entire phone! i reccomend doing every optional step!!! It'll save you hassle if you have problems. If you can't make room for some reason, and you still wanna try, you should skip step 8. I don't suggest it though.
1. download "odin.zip" and "su" here: https://www.box.com/shared/620b03e95cc0814fefc8 and unzip to your desktop. if you dont have the android sdk, simply copy the "adb.exe" file from "odin.zip" to the root of your primary drive for later. Just go to "computer" and double click the top icon/item. It should say something about C:/. If you're on Mac, sorry. Idk much about it. As for Linux, I have no clue how you'd even try to do this. I love Linux but, sadly, can't experiment with this in it. WINE has its limits....... And I don't think adb or Odin would work.
2. download the "su" file and put into into "platform-tools" where you installed the android sdk, if you have it, or put onto the root of your primary drive if you havent.
3. start phone while holding "spacebar" and "p". "downloading..." should appear on the screen in yellow text
4. plug into the computer and run "Odin_Multi_Downloader_v4.42.exe"
5. select SPHM580.ops for "OPS" and Replenish-CWM5.tar for "One Package" (they should be the only options) DO NOT CHANGE ANYTHING ELSE!!!!!
6. hit "Start" and DO NOT REMOVE PHONE FROM USB.
7. as the phone reboots, hold "u" until CWM opens and set the phone down. you should close Odin now.
8. use the volume keys to navigate to the backup and restore option and use enter to select backup. wait for it to finish completely and take you back to the the CWM main UI. backing up here creates a pure recovery, untouched by anything. CWM is NOT installed into this recovery. continue with the guide.
9. open the command prompt (type cmd.exe in search or run in the start menu, depending on your version of windows) or use some form of terminal emulator on your operating system of choice. command prompt is preferred due to the fact i know it can get the job done, but do what you will.
10. navigate to the drive your sdk is on and into "platform-tools" or to the folder you put the adb.exe and su files on. the default should be [name of drive]:\Users\[username]\. use the "cd.." command til youre at the root of the drive, and if you installed the sdk, type "cd android-sdk-windows/platform-tools" or just go to the root of the drive and go to the next step if you havent. just be sure adb.exe and su are there.
11. type this in line for line, with enters in between. the blue "~#" in the later lines is the prompt you should have. do not type this. it will be in blue. (clockworkmod should still be open on your phone at this point)
adb shell
~#mount -o remount,rw -t rfs /dev/block/stl12 /system
~#exit
adb push su /system/bin/
adb shell
~#chmod 777 /system/bin/su
~#reboot
DO NOT CLOSE THE COMMAND PROMPT YET FOR THE SAKE OF CONVENIENCE
If you have problems with that, try using CWM to mount "/system". Some friendly people over at androidcentral pointed that out. I personally didn't have that problem, but I'm glad it's fixed.
12. when your phone has rebooted, go back to the open command prompt, which should be where it was before you typed "adb shell"
13. type "adb shell". you will see a prompt of "$." type "su." if you have a prompt of "#" rejoice! you have permanent root! now you can go on the Play Store and find "Superuser" and "Busybox" (they should be free. if you cant find it, get ahold of me and ill try to supply the newest updates) if not, and you have a backup from optional step 2, you should go through til you hit CWM and restore the backup. if not, make one now and reattempt everything aside from downloads and the moving the files around on your computer. Also, someone said something about "chmod 06755 /system/bin/su", so if you might try using that instead of "chmod 777 /system/bin/su". 777 worked for me, but maybe this works better for you.
OPTIONAL FINISH STEP: I dont know how you install CWM permanently, but you should do this so you can make backups of your rom and store them somewhere like on a box.com or mediafire.com account if you decide to mess with something on your phone. (use hjsplit to break it into pieces for uploading and reassemble after download for flashing if its too big). to use a recovery, enter CWM (either the way i have here or if you have permanently installed, just reboot and hold "u") and navigate to "backup and restore," "restore," and select the recovery you wish to use on your sd card (make sure when you take out a backup for storage, you zip up the entire folder with the name that contains the date and time of your backup.) it will overwrite everything on your phone to be exactly like it was when you backed it up.
good luck! have fun!
Note: if you rename the CWM backup file, make sure it DOESN'T HAVE A SPACE or it'll give you something about md5 or something not matching. If it says this, remove any spaces in the name and try again. I had it happen on my xperia play and freaked, thinking it was soft-bricked permanently one time, til I found out about cwm's glitch with that.
Also, I uploaded pretty much everything needed for rooting the phone, with comments pertaining to each file. This includes current (as of July 31, 2012) copies of Superuser.apk, a busybox installer, and the busybox and su binaries, as well the Odin package containing the tools to temp flash CWM.
the odin.zip file and the process of achieving CWM temp-flashing was found at http://forums.androidcentral.com/sa...method-samsung-replenish-android-2-3-6-a.html and credit for that part is given to joshua.worth, although I took it a different path than he did.
Update to above info: to simplify things, I uploaded all relevant files to box so people can get them easier. The su file went missing from xda, most importantly, so I fixed that, and added an updated binary in case someone has trouble with the other one.
contact me at [email protected] if you cant pm me.
Sorry if it takes a while to respond. Life's been kinda crazy for me lately, and I am using my new phone (no service) to do this over wifi.
ahh... well, turns out unrooting cannot be done with a CWM backup... you probably have to find a nandroid or a clean version of kernel with rom. the su file dissapears, although root is still there. ill keep playing with it, i have an idea why root stays although su disappears from the system files. anyways, i will still supply a backup thats pre-rooted for anyone who is willing to have a fresh start on their replenish. it will have superuser.apk preinstalled along with busybox, and everything else will be wiped. this will be a sprint backup, so if anyone has the boost version and is willing to back up with CWM and factory reset, then follow my guide, install busybox and superuser.apk, then back it up again, id be eternally grateful to have a copy
by the way, if anyone has problems with restoring a backup due to "md5" tags or whatever it is, make sure the name of the backup has no spaces. i was freaking out til i found that tip on an obscure forum (well, to me. i dont have a Motorola. lol. just a Sony Ericsson and 2 Samsungs)
update: sorry i havent uploaded the backup. i realized it would give whoever used it the number on this phone and i have to fix that. havent had time to anyways, plus it would only work on a sprint phone. it would convert any boost mobile to sprint, so thats a no-go. sorry...
does this work for the boost mobile replenish that is 2.3.6 if so how long does it take to odin
It should work. And Odin just flashes cwm (really fast) for the duration of the next boot cycle, which it automatically initiates, so hold the recovery button (I think it's u) as it goes into it and you'll have temp root. Make sure it's in download mode before you start. Remember, it cannot be unrooted, so if you value your warranty, plz think twice before doing it. I'm just here to supply the how-to if you decide to, not to say you have to. If you do, enjoy root access!
isavegas said:
It should work. And Odin just flashes cwm (really fast) for the duration of the next boot cycle, which it automatically initiates, so hold up (I think it's u) as it goes into it and you'll have temp root. Make sure it's in download mode before you start. Remember, it cannot be unrooted, so if you value your warranty, plz think twice before doing it. I'm just here to supply the how-to if you decide to, not to say you have to. If you do, enjoy root access!
Click to expand...
Click to collapse
Thanks. I did not know if there is a fail safe if something went wrong. so I was second guessing. Very simple to do thank you assuming with odin I made a back up. if I where to mess my system up I can use odin and restore my backup and I be back up and running again no need to sbf
i keep getting : ~ # mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
mount: mounting /dev/block/mtdblock3 on /system failed: Invalid argument
bscabl said:
i keep getting : ~ # mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
mount: mounting /dev/block/mtdblock3 on /system failed: Invalid argument
Click to expand...
Click to collapse
hmm... i am familiar with the error (ive gotten it with 3 different phones in my attempt to root it, but i have succeeded each time regardless) but are you sure you actually have clockworkmod OPEN on your phone when the error shows up? i cant actually do anything from my end, because i no longer have a computer i can use to test anything, or the replenish i rooted with the method... but i opened the cwm several times before thinking to test the adb and seeing the "~#". i actually restarted the phone and did it again before actually rooting it, seeing if i had rooted it or what, and tho i got the same prompt every time it was booted in cwm, it wouldnt show up if i allowed the phone to boot normally after using odin, i HAD to ACTUALLY boot into the cwm menu, which is completely seperate from the OS itself, although it has access to the system files.
by the way, copy and paste this directly into the command prompt when you get to the step to avoid human error. mount -t rfs -o remount,rw /dev/block/stl9 /system
or, if it wont work, try this mount -o remount,rw -t yaffs2 /dev/block/mtdblock4 /system
sorry bout the babbling XD. anyways, cwm should be circumnavigating the root permissions. hmm.... if you still have problems after that, try skipping to the adb push for the "su" file.
sorry i havent been on top of the thread. ill set up an email notification.
and by the way, something i found very useful on my xperia play when it went into infinite reboot, you can always just restore the system files in the advanced restore option, allowing you to keep all of your app data if, later down the line, your phone needs to be restored. hope this helps. it helped me XD thought id lose all of my messages, but nope. i decided to explore the advanced restore and yay! i got to keep them XD
UPDATE
I don't know if it matters to you anymore, but apparently, some people have trouble with this and fix it by going to the mount menu in CWM and mounting /system
Couple of corrections:
chmod 777 /system/bin/su
should be chmod 06755 /system/bin/su
and then following that command should be
ln -s /system/bin/su /system/xbin/su
and I saw someone say this is unrootable. Thats not correct. Simply running the unroot script would unroot. Doomlord made a nice one.
To use it do the following:
Code:
adb push unroot /data/local/
adb shell chmod 777 /data/local/unroot
adb shell su -c "/data/local/unroot"
adb reboot
[code]
The above will unroot almost any android device.
halfcab123 said:
Couple of corrections:
chmod 777 /system/bin/su
should be chmod 06755 /system/bin/su
and then following that command should be
ln -s /system/bin/su /system/xbin/su
and I saw someone say this is unrootable. Thats not correct. Simply running the unroot script would unroot. Doomlord made a nice one.
To use it do the following:
Code:
adb push unroot /data/local/
adb shell chmod 777 /data/local/unroot
adb shell su -c "/data/local/unroot"
adb reboot
[code]
The above will unroot almost any android device.[/QUOTE]
Unfortunately, Doomlord's method didn't work on it. I tried all manner of one clicks and manual versions and only this got even temporary root. It's a workaround based on forcing the phone to boot into a custom recovery. (I call it custom bc its not an "official" recovery.) And I chose the chmod by looking through many manual ways to root, and that one was popular, and it works. I had full root access afterwards. I tried to unroot afterwards, however, so I could take screenshots and stuff, but the su file would reappear, even after manual deletion or restoring to an unrooted backup. Anyways, point is, this is the only method I could get to work at all, and it does work.
But the "chmod" night help other people, so ill make note of it in the post just in case. Thanks for the info.
Sent from my rooted R800at using xda app-developers app
Click to expand...
Click to collapse
Important fix----
If step 11 doesn't work, go to the "mount" menu in cwm and mount /system. Some people on androidcentral were kind enough to mention that this fixed their problem with mounting /system as rewritable
Sent from my R800at using xda app-developers app
isavegas said:
Important fix----
If step 11 doesn't work, go to the "mount" menu in cwm and mount /system. Some people on androidcentral were kind enough to mention that this fixed their problem with mounting /system as rewritable
Sent from my R800at using xda app-developers app
Click to expand...
Click to collapse
thats because your command is wrong
shabbypenguin said:
thats because your command is wrong
Click to expand...
Click to collapse
How? Throughout my own rooting of one of the phones, I had this working perfectly. Every time I hit a snag, I found a way around it and documented it. A few other people had errors show up because the phone itself hadn't mounted the system, but the problem was resolved, and only a couple people had any other problems, and they were unrelated to that. I assure you, every command works properly, as far as I know.
exactly my point. your command to mount system is wrong.
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
lets break it down shall we?
mount - this is teh command
-o remount,rw - this is where you tell it what option you want, in this case remounting as rw.
-t yaffs2 - here you are telling mount that it should expect a yaffs2 formatted device, which is not what the samsung replenish is. the replenish uses RFS (robust file system), the best way i can describe it is like telling your windows computer that your hard drive is fat32 when its actually ntfs.
/dev/block/mtdblock3 - this is where you tell mount what you are looking to mount, the issue here is that the replenish doesnt use MTD blocks, it uses STL's and BML's.
/system here is where you are trying to mount the said device to..
out of 5 parts you did get 3 correct tho. you might wish to modify your guide to reflect the actual mount command, for your device it is the following:
mount -o remount,rw -t rfs /dev/block/stl12 /system
and that will kick out system as r/w
shabbypenguin said:
exactly my point. your command to mount system is wrong.
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
lets break it down shall we?
mount - this is teh command
-o remount,rw - this is where you tell it what option you want, in this case remounting as rw.
-t yaffs2 - here you are telling mount that it should expect a yaffs2 formatted device, which is not what the samsung replenish is. the replenish uses RFS (robust file system), the best way i can describe it is like telling your windows computer that your hard drive is fat32 when its actually ntfs.
/dev/block/mtdblock3 - this is where you tell mount what you are looking to mount, the issue here is that the replenish doesnt use MTD blocks, it uses STL's and BML's.
/system here is where you are trying to mount the said device to..
out of 5 parts you did get 3 correct tho. you might wish to modify your guide to reflect the actual mount command, for your device it is the following:
mount -o remount,rw -t rfs /dev/block/stl12 /system
and that will kick out system as r/w
Click to expand...
Click to collapse
Hmmmm.... Odd..... *shrugs* I had no problem with the command, but I guess other ppl had pickier computers or phones. Hell, Vista's buginess might have worked in my favor that time XD. Thanks for the pointer. I didn't really understand the exact way the replenish was built. I just found a lil guide for making it boot into cwm and found it allowed for me to use that as an exploit to root the device. In fact, I've done the same kind of stuff to root the samsung Intercept, except I made their own software flash a pre-rooted kernel. anyways, I'll update the guide on xda and androidcentral. Thanks!
isavegas said:
Hmmmm.... Odd..... *shrugs* I had no problem with the command, but I guess other ppl had pickier computers or phones. Hell, Vista's buginess might have worked in my favor that time XD. Thanks for the pointer. I didn't really understand the exact way the replenish was built. I just found a lil guide for making it boot into cwm and found it allowed for me to use that as an exploit to root the device. In fact, I've done the same kind of stuff to root the samsung Intercept, except I made their own software flash a pre-rooted kernel. anyways, I'll update the guide on xda and androidcentral. Thanks!
Click to expand...
Click to collapse
chances are you had system mounted in cwm without knowing it.
for future knowledge always check the devices fstab for where to mount and filesystem type
https://github.com/Shabbypenguin/android_device_replenish/blob/master/recovery/recovery.fstab
as you can see the proper mounts from the files i used to make CWM for the replenish
shabbypenguin said:
chances are you had system mounted in cwm without knowing it.
for future knowledge always check the devices fstab for where to mount and filesystem type
https://github.com/Shabbypenguin/android_device_replenish/blob/master/recovery/recovery.fstab
as you can see from the files i used to make CWM for the replenish the proper mounts
Click to expand...
Click to collapse
Eh, maybe. For all I know the first thing I did was mount everything with cwm. I DID do this several months ago. I don't even have the phone anymore. The owner of the phone was gonna give it to me after upgrading, but she sold it, so I kept her 500gb laptop hard drive instead. Popped it out of the external hdd casing and stuck it in a laptop. XD. It now has Linux on it.
Anyways, I've updated the guide to have the right command and note that if it doesn't work to use cwm to mount /system. And how do you find the fstab? Just Google it? Or is it somewhere on the device?
Btw, do you know anything about cwm? It refuses to properly back up my xperia play anymore. The .android_secure folder keeps giving it errors.
isavegas said:
Eh, maybe. For all I know the first thing I did was mount everything with cwm. I DID do this several months ago. I don't even have the phone anymore. The owner of the phone was gonna give it to me after upgrading, but she sold it, so I kept her 500gb laptop hard drive instead. Popped it out of the external hdd casing and stuck it in a laptop. XD. It now has Linux on it.
Anyways, I've updated the guide to have the right command and note that if it doesn't work to use cwm to mount /system. And how do you find the fstab? Just Google it? Or is it somewhere on the device?
Btw, do you know anything about cwm? It refuses to properly back up my xperia play anymore. The .android_secure folder keeps giving it errors.
Click to expand...
Click to collapse
its where the recovery is on the device. each device has their own fstab. as for your error sounds like a conflict, either with cwm itself or that folder
shabbypenguin said:
its where the recovery is on the device. each device has their own fstab. as for your error sounds like a conflict, either with cwm itself or that folder
Click to expand...
Click to collapse
It HAS to he cwm, because the folder is regarded as super hidden by the device. The folder itself can be seen, but the contents can ONLY be edited by the rom or a pc, and I haven't touched it with a pc before. It's where your apps go when you move them to the sd card. I've been trying to back my phone up with cwm because I wanted to test the jelly bean alpha release for it. its the xperia play 4g. Stupid backup crashes every time I try and it ends up eating up what room is left in my sdcard.
i followed your guide and have root in shell. however i cant get root permission on any apps, the window doesnt pop up asking me for permission. i also get a toast notification saying superuser access denied for whatever app im trying to open. any ideas?
arodey said:
i followed your guide and have root in shell. however i cant get root permission on any apps, the window doesnt pop up asking me for permission. i also get a toast notification saying superuser access denied for whatever app im trying to open. any ideas?
Click to expand...
Click to collapse
What does your Superuser log show?
Sent from my PC36100

[MOD] Enable Stock Hotspot on Verizon

I have gotten the built-in wireless tether to work. I know there's been some discussion about getting Wireless tether without FoxFi and similar.
Since we cannot use the recovery method directly, you can still use the tools and everything from it.
So to begin:
Obviously, you must have root for this to work.
1) Download the patch.zip from the original thread. [here: http://forum.xda-developers.com/showthread.php?t=2768837 ]
2) extract the zip to somewhere on sdcard. I extracted mine to the Download folder. You may need to edit the script below to reflect your locations.
3) okay, this part gets a little weird, but bear with me...
Save this code as run.sh in Download folder or wherever you extracted. You can over-write the old run.sh if you save it in toggle folder where original was located-- BE SURE TO EDIT AS REQUIRED
Code:
#!/sbin/sh
cp /mnt/sdcard/Download/toggle/sqlite3 /data/local/tmp/sqlite3
chmod 0777 /data/local/tmp/sqlite3
mount -o remount,rw /dev/block/mmcblk0p23 /system
cp /system/framework/framework-res.apk /system/framework/framework-res.apk.bak
cp /mnt/sdcard/Download/system/framework/framework-res.apk /system/framework/framework-res.apk
/data/local/tmp/sqlite3 /data/data/com.android.providers.settings/databases/settings.db < /mnt/sdcard/Download/toggle/toggles.sql
4) now open up adb on pc (preferred!!! So you can still see progress and if necesary you can undo/alter/fix things) or terminal emulator (untested but should work, may be weird since you have to reboot phone while it's interface is locked up)
Run:
adb shell
su
sh /mnt/sdcard/Download/toggle/run.sh [or where ever you saved it]
5) Your phone will probably lock up now because you've just replaced the framework-res.apk while the system was running.
adb reboot or reboot by other methods.
6) Profit ;]
I DO NOT WARRANTY OR GUARANTEE THIS METHOD. USE AT YOUR OWN RISK
I believe the sqlite edits serve the purpose of showing the icon in the quick settings pull down. Otherwise, just replacing the framework-res.apk with the correct changes is enough: See this thread for the changes needed:
http://forum.xda-developers.com/showthread.php?t=2759119
Incidentally, I was attempting to make the changes on my own and recompile the framework-res.apk, and I must've done something not quite right because the phone hung at the verizon logo. Thankfully adb was up so I was able to remount system as rw to replace the edited framework-res.apk from the original thread OP linked. Interestingly enough, as soon as I finished copying the edited file, the phone continued booting just fine, and I'm posting from the native tethered connection now.
Edit: I was able to do the changes on the framework-res.apk extracted/decompiled from my phone after all. I'm guessing that the phone didn't like deflate method as opposed to store method (no compression) on the resources.arsc file in the apk file. Had to use the 7zip command line tool to save the modified resources.arsc file without compression to the original apk:
7z u -mx0 framework-res.apk.zip resources.arsc
where -mx0 means no compression (copy)
Got it enabled by just replacing the framework-res.apk, and noticed speeds were really slow. I get 1.88mbps on LTE at home (so-so coverage), but only .15mbps on my iPad connected to my phone via Wi-Fi.
I did this: http://forum.xda-developers.com/showpost.php?p=53431713&postcount=9
SO MUCH EASIER than what you guys were doing. :good:
Droid_Evo_8 said:
I did this: http://forum.xda-developers.com/showpost.php?p=53431713&postcount=9
SO MUCH EASIER than what you guys were doing. :good:
Click to expand...
Click to collapse
It's a manner of preference. In terms of overhead, this native method should technically be quicker to enable, as it does not have to wait for the exposed module to intercept the call and return an empty array of apps to execute for the provision check. That being said, we're probably talking miliseconds at most. While I use xposed for other modules sometimes, others might prefer not to, and this native method does not require it.
vacaloca said:
It's a manner of preference. In terms of overhead, this native method should technically be quicker to enable, as it does not have to wait for the exposed module to intercept the call and return an empty array of apps to execute for the provision check. That being said, we're probably talking miliseconds at most. While I use xposed for other modules sometimes, others might prefer not to, and this native method does not require it.
Click to expand...
Click to collapse
I don't know much about adb or terminal emulator so I'm fine with it. :good:
Here's to hoping for an easy tethering mod!
fillyo said:
Here's to hoping for an easy tethering mod!
Click to expand...
Click to collapse
I'm not sure how easier it can get than installing xposed framework + X Tether mod and rebooting, or replacing the framework-res.apk file on your phone with the one listed in the OP... either will work. This of course assumes you have the Verizon model. Replacing the premade framework-res.apk on any other S5 model would probably cause issues and wouldn't solve anything .
I just made it 'harder' on myself by deciding to copy the original framework-res.apk from my phone, and using the latest apktool and aapt to extract the apk, make the modifications, rebuild it, and replace it on my phone (after renaming the original to .bak). I mostly did this to refresh my memory on how to do it as I had done the process with another phone a while back to do the same mod. As I mentioned earlier, the sqlite stuff is only necessary if you want a toggle in the quick settings bar... otherwise you can just go into settings menu and enable it that way.
vacaloca said:
I'm not sure how easier it can get than installing xposed framework + X Tether mod and rebooting, or replacing the framework-res.apk file on your phone with the one listed in the OP... either will work.
Click to expand...
Click to collapse
I don't see the framework-res.apk file in OP, am I missing something? I have no idea how to decompile mine to make changes.
fillyo said:
I don't see the framework-res.apk file in OP, am I missing something? I have no idea how to decompile mine to make changes.
Click to expand...
Click to collapse
It's linked to in step (1). It's inside the zip file that's meant to be flashed in a recovery... however, because our bootloader is still locked, we cannot flash a recovery, so the way to do it is by replacing the framework-res.apk file as the filesystem is live, which as the OP mentions, will trigger a soft reboot as this file is used extensively by Android apps.
vacaloca said:
It's linked to in step (1). It's inside the zip file that's meant to be flashed in a recovery... however, because our bootloader is still locked, we cannot flash a recovery, so the way to do it is by replacing the framework-res.apk file as the filesystem is live, which as the OP mentions, will trigger a soft reboot as this file is used extensively by Android apps.
Click to expand...
Click to collapse
I got the framework-res apk from the zip package, I guess I am a little nervous since this is from a dev edition, correct? Anyone else successfully just replace framework-res from the zip package on their retail Verizon GS5?
fillyo said:
I got the framework-res apk from the zip package, I guess I am a little nervous since this is from a dev edition, correct? Anyone else successfully just replace framework-res from the zip package on their retail Verizon GS5?
Click to expand...
Click to collapse
The OP (presumably), user in post #3, and myself before I did the changes manually.
SO I followed these instructions and this is what i get both from adb and Term Em.
mount: No such file or directory
: Read-Only file systemramework-res.apk.bak
: Read-Only file systemramework-res.apk
/mnt/sdcard/download/toggle/run.sh[8]: /mnt/sdcard/download/toggle/sqlite3: can't execute: permission denied
I use the same folder structure you did, created a download folder and extracted the zip...
Thoughts?
tangoboyz said:
SO I followed these instructions and this is what i get both from adb and Term Em.
mount: No such file or directory
: Read-Only file systemramework-res.apk.bak
: Read-Only file systemramework-res.apk
/mnt/sdcard/download/toggle/run.sh[8]: /mnt/sdcard/download/toggle/sqlite3: can't execute: permission denied
I use the same folder structure you did, created a download folder and extracted the zip...
Thoughts?
Click to expand...
Click to collapse
Seems at least like 2 errors... the mount command can't find the input or output directories, thus you attempt to copy the files and get read-only file system, and it looks like sqlite3 needs to be changed to executable... chmod +x sqlite3
Also make sure you're running as root, obviously.
I saw a similar post int the android development subforum, and they seem to believe you will bootloop if you try to overwrite your framework-res. I chickened out and just did the xposed and x tether mod.
vacaloca said:
Seems at least like 2 errors... the mount command can't find the input or output directories, thus you attempt to copy the files and get read-only file system, and it looks like sqlite3 needs to be changed to executable... chmod +x sqlite3
Also make sure you're running as root, obviously.
Click to expand...
Click to collapse
I am rooted. Here's what i had in my run.sh:
#!/sbin/sh
cp /mnt/sdcard/Download/toggle/sqlite3 /data/local/tmp/sqlite3
chmod 0777 /data/local/tmp/sqlite3
mount -o remount,rw /dev/block/mmcblk0p23 /system
cp /system/framework/framework-res.apk /system/framework/framework-res.apk.bak
cp /mnt/sdcard/Download/system/framework/framework-res.apk /system/framework/framework-res.apk
/mnt/sdcard/Download/toggle/sqlite3 /data/data/com.android.providers.settings/databases/settings.db < /mnt/sdcard/Download/toggle/toggles.sql
NOW does this look right??
#!/sbin/sh
cp /mnt/sdcard/Download/toggle/sqlite3 /data/local/tmp/sqlite3
chmod +x 0777 /data/local/tmp/sqlite3
mount -o remount,rw /dev/block/mmcblk0p23 /system
cp /system/framework/framework-res.apk /system/framework/framework-res.apk.bak
cp /mnt/sdcard/Download/system/framework/framework-res.apk /system/framework/framework-res.apk
/mnt/sdcard/Download/toggle/sqlite3 /data/data/com.android.providers.settings/databases/settings.db < /mnt/sdcard/Download/toggle/toggles.sql
I'm sorry as I'm very new to this.
tangoboyz said:
I am rooted. Here's what i had in my run.sh:
#!/sbin/sh
cp /mnt/sdcard/Download/toggle/sqlite3 /data/local/tmp/sqlite3
chmod 0777 /data/local/tmp/sqlite3
mount -o remount,rw /dev/block/mmcblk0p23 /system
cp /system/framework/framework-res.apk /system/framework/framework-res.apk.bak
cp /mnt/sdcard/Download/system/framework/framework-res.apk /system/framework/framework-res.apk
/mnt/sdcard/Download/toggle/sqlite3 /data/data/com.android.providers.settings/databases/settings.db < /mnt/sdcard/Download/toggle/toggles.sql
NOW does this look right??
#!/sbin/sh
cp /mnt/sdcard/Download/toggle/sqlite3 /data/local/tmp/sqlite3
chmod +x 0777 /data/local/tmp/sqlite3
mount -o remount,rw /dev/block/mmcblk0p23 /system
cp /system/framework/framework-res.apk /system/framework/framework-res.apk.bak
cp /mnt/sdcard/Download/system/framework/framework-res.apk /system/framework/framework-res.apk
/mnt/sdcard/Download/toggle/sqlite3 /data/data/com.android.providers.settings/databases/settings.db < /mnt/sdcard/Download/toggle/toggles.sql
I'm sorry as I'm very new to this.
Click to expand...
Click to collapse
The original script should work assuming the files are in the right path... when I mentioned make sure you are running as root meant, make sure you run the 'su' command and get the # prompt before you run the script, otherwise the script won't run with root permissions and will fail.
For the third line, you (and the OP) can replace the mount command with:
Code:
mount -o,remount rw /system
----
As an aside, the chmod 0777 part in the original script already does mark the file as executable... chmod works with generic +rwx (read,write,execute) distinctions or the regular numbering permissions (777 means rwx for everyone)
Edit: the last line of the script should start with: /data/local/tmp/sqlite3
because that's the one that you set the permissions to rwx, not the one in your sdcard
vacaloca said:
The original script should work assuming the files are in the right path... when I mentioned make sure you are running as root meant, make sure you run the 'su' command and get the # prompt before you run the script, otherwise the script won't run with root permissions and will fail.
For the third line, you (and the OP) can replace the mount command with:
Code:
mount -o,remount rw /system
----
As an aside, the chmod 0777 part in the original script already does mark the file as executable... chmod works with generic +rwx (read,write,execute) distinctions or the regular numbering permissions (777 means rwx for everyone)
Edit: the last line of the script should start with: /data/local/tmp/sqlite3
because that's the one that you set the permissions to rwx, not the one in your sdcard
Click to expand...
Click to collapse
Hmm still no dice... Something isn't working right. Really I wanted the Hotspot in the pull down menu. I am currently paying for hotspot anyway....
Just found that wanam xposed has an option to skip provisioning check. Anyone tried this yet? Seems to enable native tethering but doesn't give a quick settings button.
dlscott1111 said:
Just found that wanam xposed has an option to skip provisioning check. Anyone tried this yet? Seems to enable native tethering but doesn't give a quick settings button.
Click to expand...
Click to collapse
Yes, we have tried it and it works. The quick settings button, as I have mentioned earlier in this thread, is what the sqlite3 executable and the file commands it takes in (just a simple text file of DB commands) take care of. You could also just get sqlite editor ($3 from the play store, IIRC) and do them manually if you don't like command line tools. it's basically adding "WiFiHotspot" to system -> notification_panel_active_app_list_for_reset and notification_panel_default_active_app_list in the settings.db file in /data/data/com.android.providers.settings/databases/
Or you could just do it the free with the command line sqlite3 using the tools already at your disposal

Categories

Resources