Related
I'm trying to find an universal way to read userdata partition(dump partition) without rooting the device.
Assumption :
the device can be boot in fastboot mode
Possible ways :
1. Using fastboot
I've looked into fastboot.c, it taking usb as a usb_handle pointer. I'm trying to move from that point. Fastboot is mostly to write or erase, but I assumed if writing and erasing are possible, reading should be possible as well.
2. Using nvflash, tftp...
It won't be the solution, since it's chip dependent but using chip vendor's download tool to dump partitions.
Go for it!
How does using adb dumping from /dev/mmcblk0p1 sounds?
can I unmount mmcblk0p1, and mount back to readable position?
what device? more info please.
dd if=dev/mmcblk0p? of=data.img bs= 8096 is usually the easiest. (<--just an example)
also this may be helpful:
http://forum.xda-developers.com/showthread.php?t=1247908
chrisrotolo said:
what device? more info please.
dd if=dev/mmcblk0p? of=data.img bs= 8096 is usually the easiest. (<--just an example)
also this may be helpful:
http://forum.xda-developers.com/showthread.php?t=1247908
Click to expand...
Click to collapse
Thanks for the link. using dd command is the exact way I used to dump mmc block as root. Or can it be run under not-rooted phones?
Rooting depends on the kernel version of devices, so when I have to dump various phones, it's very cumbersome to root different kinds of devices and dump.
So I'm finding a way to walk around the problem by using fastboot or if possible adb.
I think fastboot is my best bet so far.
How about adb?
adb shell
df -h
kkiqq1208 said:
How about adb?
adb shell
df -h
Click to expand...
Click to collapse
df -h will only show usage of storage medias. Is there anyway I can read off the actual data?
As already mentioned, dd, but via ADB. I believe that it functions at a low enough level that you should be able to dump mmcblk0 without having to be rooted. If dd can't be directly accessed via adb, you could extract a busybox install from a rooted phone and set it up in your adb directory and then run it from there with busybox (in theory).
Волк said:
As already mentioned, dd, but via ADB. I believe that it functions at a low enough level that you should be able to dump mmcblk0 without having to be rooted. If dd can't be directly accessed via adb, you could extract a busybox install from a rooted phone and set it up in your adb directory and then run it from there with busybox (in theory).
Click to expand...
Click to collapse
Question.
Feels like i'm on the different page from you. If i run dd for /dev/mmcblk0 it does give me an error message saying "Access Denied" of couse mmcblk0 is owned by root. And busybox too(I haven;t tried this), it's just a set of linux commnads, I'm not sure how it can access a file(in this case, a device) which does not have its ownership.
Please correct me if I'm wrong.
Hi All,
There is a way to dump any partition to SD card partition on unrooted device vi ADB.
Paste this couple of lines into the terminal :
adb kill-server
adb wait-for-device
adb shell "echo ro.kernel.qemu=1 > /data/local.prop"
adb reboot
adb wait-for-device
adb shell "mount -wo remount rootfs /"
adb shell "rm /data/local.prop"
adb shell dd if=/dev/block/mmcblk0p1 of=/sdcard/mmcp1.dump
The phone may reboot many time after that, so make sure the file /data/local.prop is deleted after this operation. or execute this :
adb reboot
adb wait-for-device
adb shell "rm /data/local.prop"
adb reboot
hope that helps
__________________
HTC One X (SFR)
Wissam said:
Hi All,
There is a way to dump any partition to SD card partition on unrooted device vi ADB.
Paste this couple of lines into the terminal :
adb kill-server
adb wait-for-device
adb shell "echo ro.kernel.qemu=1 > /data/local.prop"
adb reboot
adb wait-for-device
adb shell "mount -wo remount rootfs /"
adb shell "rm /data/local.prop"
adb shell dd if=/dev/block/mmcblk0p1 of=/sdcard/mmcp1.dump
The phone may reboot many time after that, so make sure the file /data/local.prop is deleted after this operation. or execute this :
adb reboot
adb wait-for-device
adb shell "rm /data/local.prop"
adb reboot
hope that helps
__________________
HTC One X (SFR)
Click to expand...
Click to collapse
Has anyone verified if this works for reading partitions on a non-rooted phone?
This doesn't work on an unrooted, locked device.
Code:
C:\Windows\System32>adb shell "echo ro.kernel.qemu=1 > /data/local.prop"
/system/bin/sh: can't create /data/local.prop: Permission denied
This did not work for my phone.
I got "permission denied" right after
adb shell "echo ro.kernel.qemu=1 > /data/local.prop"
Most of the above will only work on a rooted device with superuser.
The loop holes for shadow copies are mostly fixed since 6.0.
Partitions that can be accessed without root can be dumped with DD through ADB if ADB itself is supported and not internally limited to prevent just this.
Try
Code:
adb reboot recovery
adb root
adb shell
In my device, I can able to read those /data /dev without bootloader unlocking or root.
HemanthJabalpuri said:
Try
Code:
adb reboot recovery
adb root
adb shell
In my device, I can able to read those /data /dev without bootloader unlocking or root.
Click to expand...
Click to collapse
So, ... You are lucky. If I try these commands, I am getting "error: closed". And believe it or not, I have my bootloader UNlocked. It's a doomed chinese tablet, Allwinner 100 SOC.
observingman said:
So, ... You are lucky. If I try these commands, I am getting "error: closed". And believe it or not, I have my bootloader UNlocked. It's a doomed chinese tablet, Allwinner 100 SOC.
Click to expand...
Click to collapse
I found that it is common for many Realme devices to able to use `adb root` in recovery mode.
I have a Realme C12 which has Mediatek Helio G35 MT6765G SoC. So we can also able to `readback` partitions by using SP Flash Tool with the help of MTK-bypass.
I just got a cute chinese phone, called Bluebo B3000.
(The manufacturer is www bluebo net)
the device has MTK6575
Android 4.0.4, Kernel 3.0.13
no GPS,
RAM: 256MB
ROM: 512MB
Resolution: 320 x 480 Pixels
SIM slots: 2
SD card
quadband GSM 850/900/1800/1900MHz
I only need root.
Which flash tool is good for this device?
There are russian forums discussing this device, e.g..forum china-iphone ru , viewtopic.php?f=46&t=22437
but I dont understand what they say.
Thanks!
yay
I posted how to root this phone in the Russian Forum, (in Russian and English), here are the steps to follow:
I have the same phone (BlueBo B3000 -MTK6575)
English:
We have to have our mobile perfectly recognized by the computer as "ADB Device", with the controller properly installed, and Debug Mode Enable (connected to the PC with the USB cable).
Download (htt p://ww w.4shar ed.com/zip/fyH9xy DF/Roo tTianji.ht m l) (remove spaces), you need to work in command mode with ADB.
Unzip in "C :/" folder, it will be now "C :/ RootTianji /".
Open a command window (cmd.exe). Then we put (without the quotes) cd.. "until we get "C:>" then put "cd RootTianji" and then just put "adb".
Best explained
1 -. cmd.exe
2 -. cd ..
3 -. cd .. (again)
4 -. Stop when you get "C:>" prompt
5 -. RootTianji cd
6 -. adb
Now we have to follow these steps to the letter.
Type and hit enter: adb push su /data/local/tmp/su
Type and hit enter: adb push Superuser.apk /data/local/tmp/Superuser.apk
Type and hit enter: adb restore fakebackup.ab (Do not do anything on the phone yet)
Type and hit enter: adb shell "while ! ln -s /data/local.prop /data/data/com.android.settings/a/file99; do :; done" (Now in the command window appear few rows error and that means the exploit is working and now is when you press on the phone and within seconds Restore on mobile as a message that the restoration is completed. If a password is asked do not to write anything, just continue)
Type and hit enter: adb reboot (The phone now reboots itself. Do not do anything until it completely reboot. Might take a little and flashes).
Type and hit enter: adb shell
Now the phone is in root mode and the # prompt appears.
Type and hit enter: mount -o remount,rw -t ext4 /dev/block/mmcblk0p1 /system
Type and hit enter: cat /data/local/tmp/su > /system/bin/su
Type and hit enter: chmod 06755 /system/bin/su
Type and hit enter: ln -s /system/bin/su /system/xbin/su
Type and hit enter: cat /data/local/tmp/Superuser.apk > /system/app/Superuser.apk
Type and hit enter: chmod 0644 /system/app/Superuser.apk
Type and hit enter: rm /data/local.prop
Type and hit enter: exit
Type and hit enter: adb shell "sync; sync; sync;"
Type and hit enter: adb reboot
Your mobile is now root.
If you could try to do all steps from the beginning and from step 9 and 10 run these commands: chown 0.0 / system / bin / su
If the process gets "stuck" in the row of errors (never ends), close and disconnect everything and connect the phone again seeing that everything necessary is in good condition (drivers, cables, files), then proceed to retry processes from the beginnin. (cmd.exe).
If you dont understand something just ask.
This guide was originally made for Tinji Mobile N9000 i9220, but when I realized it was the same processor as mine (B3000 - MT6575), I decided to try it, and for my surprise, it worked!
Please be careful and use this information at your own risk
Sorry if I wrote something bad or strange. Bye
Thanks!! I will try.
Hooray! I've got root!
thanks!
unlucky for me I have messed some things around and mis-spelled the "ln -s" command,
but eventually I managed to install all the drivers required, and to load a ROM with root.
Thanks a lot!
BlueBo unlock
gonzalox said:
I posted how to root this phone in the Russian Forum, (in Russian and English), here are the steps to follow:
I have the same phone (BlueBo B3000 -MTK6575)
English:
We have to have our mobile perfectly recognized by the computer as "ADB Device", with the controller properly installed, and Debug Mode Enable (connected to the PC with the USB cable).
Download (htt p://ww w.4shar ed.com/zip/fyH9xy DF/Roo tTianji.ht m l) (remove spaces), you need to work in command mode with ADB.
Unzip in "C :/" folder, it will be now "C :/ RootTianji /".
Open a command window (cmd.exe). Then we put (without the quotes) cd.. "until we get "C:>" then put "cd RootTianji" and then just put "adb".
Best explained
1 -. cmd.exe
2 -. cd ..
3 -. cd .. (again)
4 -. Stop when you get "C:>" prompt
5 -. RootTianji cd
6 -. adb
Now we have to follow these steps to the letter.
Type and hit enter: adb push his / data / local / tmp / su
Type and hit enter: adb push Superuser.apk / data / local / tmp / Superuser.apk
Type and hit enter: adb restore fakebackup.ab (Do not do anything on the phone yet)
Type and hit enter: adb shell "while! Ln-s / data / local.prop / data/data/com.android.settings/a/file99, do:; done" (Now in the command window appear few rows error and that means the exploit is working and now is when you press on the phone and within seconds Restore on mobile as a message that the restoration is completed. If a password is asked do not to write anything, just continue)
Type and hit enter: adb reboot (The phone now reboots itself. Do not do anything until it completely reboot. Might take a little and flashes).
Type and hit enter: adb shell
Now the phone is in root mode and the # prompt appears.
Type and hit enter: mount-o remount, rw-t ext4 / dev/block/mmcblk0p1 / system
Type and hit enter: cat / data / local / tmp / su> / system / bin / su
Type and hit enter: chmod 06755 / system / bin / su
Type and hit enter: ln-s / system / bin / su / system / xbin / su
Type and hit enter: cat / data / local / tmp / Superuser.apk> / system / app / Superuser.apk
Type and hit enter: chmod 0644 / system / app / Superuser.apk
Type and hit enter: rm / data / local.prop
Type and hit enter: exit
Type and hit enter: adb shell "sync, sync, sync;"
Type and hit enter: adb reboot
Your mobile is now root.
If you could try to do all steps from the beginning and from step 9 and 10 run these commands: chown 0.0 / system / bin / su
If the process gets "stuck" in the row of errors (never ends), close and disconnect everything and connect the phone again seeing that everything necessary is in good condition (drivers, cables, files), then proceed to retry processes from the beginnin. (cmd.exe).
If you dont understand something just ask.
This guide was originally made for Tinji Mobile N9000 i9220, but when I realized it was the same processor as mine (B3000 - MT6575), I decided to try it, and for my surprise, it worked!
Please be careful and use this information at your own risk
Sorry if I wrote something bad or strange. Bye
Click to expand...
Click to collapse
I have purchased a B3000 but it's not accepting my SIM for Tmobile and I need it unlocked....do anyone know how to unlock?
sugabear210 said:
I have purchased a B3000 but it's not accepting my SIM for Tmobile and I need it unlocked....do anyone know how to unlock?
Click to expand...
Click to collapse
i think the problem might be your SIM card, this mobile come as unlocked as default.
Getting stuck
If the process gets "stuck" in the row of errors (never ends), close and disconnect everything and connect the phone again seeing that everything necessary is in good condition (drivers, cables, files), then proceed to retry processes from the beginnin. (cmd.exe).
Click to expand...
Click to collapse
I always get stuck at this part, i own a Bluebo B3000 Android 4.0.4 ICS can you help me? thank you
EDIT: I've figured it out, you have to write the code and click the restore option as quick as possible
EDIT 03/01/2013: I've given up hope in trying to root this phone, when i tried two days ago i couldn't root it but now i've tried and it worked like WOAH! thank you for this wonderful tutorial!!!
gonzalox said:
I posted how to root this phone in the Russian Forum, (in Russian and English), here are the steps to follow:
I have the same phone (BlueBo B3000 -MTK6575)
English:
We have to have our mobile perfectly recognized by the computer as "ADB Device", with the controller properly installed, and Debug Mode Enable (connected to the PC with the USB cable).
Download (htt p://ww w.4shar ed.com/zip/fyH9xy DF/Roo tTianji.ht m l) (remove spaces), you need to work in command mode with ADB.
Unzip in "C :/" folder, it will be now "C :/ RootTianji /".
Open a command window (cmd.exe). Then we put (without the quotes) cd.. "until we get "C:>" then put "cd RootTianji" and then just put "adb".
Best explained
1 -. cmd.exe
2 -. cd ..
3 -. cd .. (again)
4 -. Stop when you get "C:>" prompt
5 -. RootTianji cd
6 -. adb
Now we have to follow these steps to the letter.
Type and hit enter: adb push su /data/local/tmp/su
Type and hit enter: adb push Superuser.apk /data/local/tmp/Superuser.apk
Type and hit enter: adb restore fakebackup.ab (Do not do anything on the phone yet)
Type and hit enter: adb shell "while ! ln -s /data/local.prop /data/data/com.android.settings/a/file99; do :; done" (Now in the command window appear few rows error and that means the exploit is working and now is when you press on the phone and within seconds Restore on mobile as a message that the restoration is completed. If a password is asked do not to write anything, just continue)
Type and hit enter: adb reboot (The phone now reboots itself. Do not do anything until it completely reboot. Might take a little and flashes).
Type and hit enter: adb shell
Now the phone is in root mode and the # prompt appears.
Type and hit enter: mount -o remount,rw -t ext4 /dev/block/mmcblk0p1 /system
Type and hit enter: cat /data/local/tmp/su > /system/bin/su
Type and hit enter: chmod 06755 /system/bin/su
Type and hit enter: ln -s /system/bin/su /system/xbin/su
Type and hit enter: cat /data/local/tmp/Superuser.apk > /system/app/Superuser.apk
Type and hit enter: chmod 0644 /system/app/Superuser.apk
Type and hit enter: rm /data/local.prop
Type and hit enter: exit
Type and hit enter: adb shell "sync; sync; sync;"
Type and hit enter: adb reboot
Your mobile is now root.
If you could try to do all steps from the beginning and from step 9 and 10 run these commands: chown 0.0 / system / bin / su
If the process gets "stuck" in the row of errors (never ends), close and disconnect everything and connect the phone again seeing that everything necessary is in good condition (drivers, cables, files), then proceed to retry processes from the beginnin. (cmd.exe).
If you dont understand something just ask.
This guide was originally made for Tinji Mobile N9000 i9220, but when I realized it was the same processor as mine (B3000 - MT6575), I decided to try it, and for my surprise, it worked!
Please be careful and use this information at your own risk
Sorry if I wrote something bad or strange. Bye
Click to expand...
Click to collapse
its not worked for me - b3000s
when get error with the msg for restor the error rows never be end
and when type this comand : mount -o remount,rw -t ext4 /dev/block/mmcblk0p1 /system
i see error please help me
Device Not Recognized
When I connect my Bluebo B3000 to the computer even with USB debugging on it doesn't recognize it. I have everything installed to root this phone, and I just need to figure out how to fix this. I'm using Windows 7 x64.
Is there any drivers for this phone? I can't find any. It might be in Chinese or Russian, I don't know. I also tried to find drivers for Tinji Mobile N9000 i9220 since gozalox says that it has the same processor as this one, but the search results yielded with roms; they don't look legitimate so I don't want to bother.
Thank you for reading.
EDIT:
After installing MTK6575 device I finally was able to get in my phone, but I still get stuck at the "while" part
I followed everything as instructed, and yes I checked if the spelling was correct by pasting the instructions in the notepad.
After entering the adb shell "while ! ln -s /data/local.prop /data/data/com.android.settings/a/file99; do :; done" I get link failed File exists. I did click restore my data quickly and kept waiting. I did see the com.android.settings under the page in the phone. I don't understand the password request part since the phone asks me for the encryption password on the page in which I'm sure I don't have. I was stuck on the data restore until the streams of "link failed File exists" disappeared so I proceeded to reboot, but when I type adb shell it was still $ I've kept trying to do this over and over again from step 1 (not closing the cmd prompt though, I wouldn't want to type them over and over) but it still doesn't work. My last resort would be typing everything from scratch and hope for the best.
Please help. Thank you!
EDIT 2:
I finally rooted my phone. For those people who need help, go here ht tp://fo rum. china-iphon e.ru/viewt opic.p hp?f=31&t =17863 (remove spaces) and click MTK Droid Root & Tools v2.3.7 The program is in English, so no worries about that. I did it twice for mine and it worked~ Install the Android Terminal app to check if you're rooted. Just type su in a window and if it has the hash sign "#" then you're rooted. Good luck!
Ignore, as I'm still looking for the delete button. Noob, noob, noob...
Messed it Up with mtkdroid Tools
I Have used the Mtk droid Tool, clicked on root button, and confirmed on the onscreen button.
after this the program continues to recognize my device but now the "ROOT" button disapears, and above was write "root shell quemu mode".
I think the phone was rooted, but I installed some root required apks and they said that i have not the root permisions, including the Terminal emulator, this said "permission denied" when prompt "su" command.
After I requested a normal reboot via the MtkdroidTools and the device dont boot, it stays freezed at Android logo.
I tried the Recovery mode, but dont worked too...
Hi,
Finally I can enter recovery mode after messing up with build.prop on Xperia Tablet S
tablet is visible in ADB as
C:\Users\Amiga\Desktop\adb>adb devices
List of devices attached
0123456789ABCDEF recovery
but rest of the commands doesn't work
C:\Users\Amiga\Desktop\adb>adb shell
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
error: closed
So I don't know how to pull out build.prop from Tablet
Amiga4ever123 said:
Hi,
Finally I can enter recovery mode after messing up with build.prop on Xperia Tablet S
tablet is visible in ADB as
C:\Users\Amiga\Desktop\adb>adb devices
List of devices attached
0123456789ABCDEF recovery
but rest of the commands doesn't work
C:\Users\Amiga\Desktop\adb>adb shell
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
error: closed
So I don't know how to pull out build.prop from Tablet
Click to expand...
Click to collapse
The reason you are getting the "error: closed" message is because the version of System Recovery installed on your tablet inhibits ADB from accessing the tablet's file system. You are not going to be able to pull or push the build.prop file.
Ok I can't use ADb so how can I replace faulty build.prop file or make recovery? Any ZIP file that I can put on SD card?
Amiga4ever123 said:
Ok I can't use ADb so how can I replace faulty build.prop file or make recovery? Any ZIP file that I can put on SD card?
Click to expand...
Click to collapse
You can try copying an OTA update file to an SD card and using System Recovery to install it, but I do not believe doing that will work. I believe you have bricked your tablet to the point where you have to send your tablet to Sony for repair.
Cat McGowan said:
You can try copying an OTA update file to an SD card and using System Recovery to install it, but I do not believe doing that will work. I believe you have bricked your tablet to the point where you have to send your tablet to Sony for repair.
Click to expand...
Click to collapse
So its very easy to brick this amazing sony device
Cat McGowan said:
The reason you are getting the "error: closed" message is because the version of System Recovery installed on your tablet inhibits ADB from accessing the tablet's file system. You are not going to be able to pull or push the build.prop file.
Click to expand...
Click to collapse
Hi cat tried to PM you but can?t do it...
Can you teach me how to copy/restore (pull and or push) the original build.prop in my cell (now bricked) i had the original file (buil.prop) inside it... i am learning about adb commands. thanksss. The main problem I have: An issue with ADB VCOM drivers (in windows) (tried in a couple of PCS, the device manager "see" the vcom preloader only a little moment (when connect the cell with usb cable) and then dissapear... then with command adb devices: no devices found... can you help me?
federimau said:
Hi cat tried to PM you but can?t do it...
Can you teach me how to copy/restore (pull and or push) the original build.prop in my cell (now bricked) i had the original file (buil.prop) inside it... i am learning about adb commands. thanksss. The main problem I have: An issue with ADB VCOM drivers (in windows) (tried in a couple of PCS, the device manager "see" the vcom preloader only a little moment (when connect the cell with usb cable) and then dissapear... then with command adb devices: no devices found... can you help me?
Click to expand...
Click to collapse
The reason ADB is reporting no devices are found may be because (1) your device is bricked, which probably means you are not going to be able to pull/push files from/to your device, (2) you do not have ADB drivers for your device properly installed on your PC, and/or (3) you do not have USB debugging enabled in your tablet's Developer options settings.
It's good you are learning how to use ADB and there are plenty of ADB tutorials to be found via Google, etc.; e.g., HERE.
Here is what you specifically ask for.
Pulling the build.prop file from your tablet to your PC is easy, just use these commands.
Code:
adb wait-for-device
adb pull /system/build.prop
adb kill-server
Pushing the build.prop file from your PC to your tablet is more complicated.
(1) Your tablet must have root access. If it doesn't, attempts at pushing the file to your tablet's /system directory will fail.
(2) Along with having root access, you must have SuperSU or Superuser, and Busybox installed on the tablet.
(3) You have to temporarily set your tablet's /system directory's properties from RO to RW, which must be done quickly because your tablet's OS monitors the /system directory's properties and will reboot the tablet if it detects the directory's properties have been changed from RO.
(4) To issue the ADB commands as quickly as possible, the commands must be put into a DOS batch command script file. For example, create and run a batch file named doit.bat containing the following commands.
Code:
adb wait-for-device
adb push build.prop /build.prop
adb shell "su -c 'stop ric'"
adb shell "su -c 'busybox pkill -f /sbin/ric'"
adb shell "su -c 'mount -ro remount,rw /'"
adb shell "su -c 'chmod 0440 /sbin/ric'"
adb shell "su -c 'stop ric'"
adb shell "su -c 'busybox pkill -f /sbin/ric'"
adb shell "su -c 'mount -ro remount,rw /system'"
adb shell "su -c 'busybox cp -af /build.prop /system/build.prop'"
adb shell "su -c 'chmod 0744 /system/build.prop'"
adb shell "su -c 'rm /build.prop'"
adb shell "exit"
adb kill-server
Good luck.
Cat McGowan said:
The reason ADB is reporting no devices are found may be because (1) your device is bricked, which probably means you are not going to be able to pull/push files from/to your device, (2) you do not have ADB drivers for your device properly installed on your PC, and/or (3) you do not have USB debugging enabled in your tablet's Developer options settings.
It's good you are learning how to use ADB and there are plenty of ADB tutorials to be found via Google, etc.; e.g., HERE.
Here is what you specifically ask for.
Pulling the build.prop file from your tablet to your PC is easy, just use these commands.
Code:
adb wait-for-device
adb pull /system/build.prop
adb kill-server
Pushing the build.prop file from your PC to your tablet is more complicated.
(1) Your tablet must have root access. If it doesn't, attempts at pushing the file to your tablet's /system directory will fail.
(2) Along with having root access, you must have SuperSU or Superuser, and Busybox installed on the tablet.
(3) You have to temporarily set your tablet's /system directory's properties from RO to RW, which must be done quickly because your tablet's OS monitors the /system directory's properties and will reboot the tablet if it detects the directory's properties have been changed from RO.
(4) To issue the ADB commands as quickly as possible, the commands must be put into a DOS batch command script file. For example, create and run a batch file named doit.bat containing the following commands.
Code:
adb wait-for-device
adb push build.prop /build.prop
adb shell "su -c 'stop ric'"
adb shell "su -c 'busybox pkill -f /sbin/ric'"
adb shell "su -c 'mount -ro remount,rw /'"
adb shell "su -c 'chmod 0440 /sbin/ric'"
adb shell "su -c 'stop ric'"
adb shell "su -c 'busybox pkill -f /sbin/ric'"
adb shell "su -c 'mount -ro remount,rw /system'"
adb shell "su -c 'busybox cp -af /build.prop /system/build.prop'"
adb shell "su -c 'chmod 0744 /system/build.prop'"
adb shell "su -c 'rm /build.prop'"
adb shell "exit"
adb kill-server
Good luck.
Click to expand...
Click to collapse
Wowww Cat, you are the one!! Thanks in Advance
The main problem I have: An issue with device recognition in windows PC... driver ADB VCOM MTK 6592 (tried in different PCS windows Xp and 8) (the device manager "see" the vcom preloader but only a little moment (in the first instant when connect the cell (cell off) with usb cable) and then dissapear (disconnect) the vcom preloader... I think If I can reach the way to get this connection running ok I can progress with this... will fight hard...
When I type the command adb devices, result: no devices found...
Tried to upgrade the vcom drivers (when i can catch it in the active state in device manager)... nothing
Tried to "on" the phone... nothing
Tried to flash a new ROM from Recovery (MIUI or Feelingme 078)... ERROR installation aborted
I can see this effect (with usbview): the usb is recognized in the PC (but just for a little moment at the instant when plug it), then disconnect...
I need to recover the original build.prop.bak from coolpad memory, rename it to build.prop and send it to coolpad again...
I think i can flash (from recovery) an original build. prop (packed as update.zip) doing the wipes and apply update from sdcard)... anyone can assist me on this?
This new 9976A item comes to me with 048 version, custom buid version 265 and rooted from factory...
Anyone can please help me?
Cat McGowan said:
The reason ADB is reporting no devices are found may be because (1) your device is bricked, which probably means you are not going to be able to pull/push files from/to your device, (2) you do not have ADB drivers for your device properly installed on your PC, and/or (3) you do not have USB debugging enabled in your tablet's Developer options settings.
It's good you are learning how to use ADB and there are plenty of ADB tutorials to be found via Google, etc.; e.g., HERE.
Here is what you specifically ask for.
Pulling the build.prop file from your tablet to your PC is easy, just use these commands.
Code:
adb wait-for-device
adb pull /system/build.prop
adb kill-server
Pushing the build.prop file from your PC to your tablet is more complicated.
(1) Your tablet must have root access. If it doesn't, attempts at pushing the file to your tablet's /system directory will fail.
(2) Along with having root access, you must have SuperSU or Superuser, and Busybox installed on the tablet.
(3) You have to temporarily set your tablet's /system directory's properties from RO to RW, which must be done quickly because your tablet's OS monitors the /system directory's properties and will reboot the tablet if it detects the directory's properties have been changed from RO.
(4) To issue the ADB commands as quickly as possible, the commands must be put into a DOS batch command script file. For example, create and run a batch file named doit.bat containing the following commands.
Code:
adb wait-for-device
adb push build.prop /build.prop
adb shell "su -c 'stop ric'"
adb shell "su -c 'busybox pkill -f /sbin/ric'"
adb shell "su -c 'mount -ro remount,rw /'"
adb shell "su -c 'chmod 0440 /sbin/ric'"
adb shell "su -c 'stop ric'"
adb shell "su -c 'busybox pkill -f /sbin/ric'"
adb shell "su -c 'mount -ro remount,rw /system'"
adb shell "su -c 'busybox cp -af /build.prop /system/build.prop'"
adb shell "su -c 'chmod 0744 /system/build.prop'"
adb shell "su -c 'rm /build.prop'"
adb shell "exit"
adb kill-server
Good luck.
Click to expand...
Click to collapse
Cat i will need to pull the backup file... then the code i need is... (please monitor it for me)
adb wait-for-device
adb pull /system/build.prop.bak
adb kill-server
and... when you push the correct and original file
adb wait-for-device
adb push build.prop /build.prop
is it ok? or the path is this?
adb push build.prop /system/build.prop
(if there are a build.prop in the device this will overwrite it?
federimau said:
Cat i will need to pull the backup file... then the code i need is... (please monitor it for me)
adb wait-for-device
adb pull /system/build.prop.bak
adb kill-server
and... when you push the correct and original file
adb wait-for-device
adb push build.prop /build.prop
is it ok? or the path is this?
adb push build.prop /system/build.prop
(if there are a build.prop in the device this will overwrite it?
Click to expand...
Click to collapse
adb push build.prop /system/build.prop
Cat McGowan said:
adb push build.prop /system/build.prop
Click to expand...
Click to collapse
Thanks cat, as i say, the main problem in this case is: i have a short window of time when the windows PC see the driver in the device manager... then disconnects... do you have any idea what can i do to establish this connection betweeen the android device and the computer without interruption?
---------- Post added at 05:22 PM ---------- Previous post was at 05:12 PM ----------
Cat McGowan said:
adb push build.prop /system/build.prop
Click to expand...
Click to collapse
cat, i´m doing 2 bat files (edited with notepad, is this correct?)
one file: pull.bat
with code
adb wait-for-device
adb pull /system/build.prop.bak
adb kill-server
another file: push.bat
with code
adb wait-for-device
adb push build.prop /system/build.prop
adb shell "su -c 'stop ric'"
adb shell "su -c 'busybox pkill -f /sbin/ric'"
adb shell "su -c 'mount -ro remount,rw /'"
adb shell "su -c 'chmod 0440 /sbin/ric'"
adb shell "su -c 'stop ric'"
adb shell "su -c 'busybox pkill -f /sbin/ric'"
adb shell "su -c 'mount -ro remount,rw /system'"
adb shell "su -c 'busybox cp -af /build.prop /system/build.prop'"
adb shell "su -c 'chmod 0744 /system/build.prop'"
adb shell "su -c 'rm /build.prop'"
adb shell "exit"
adb kill-server
what do you think?
---------- Post added at 05:51 PM ---------- Previous post was at 05:22 PM ----------
federimau said:
Thanks cat, as i say, the main problem in this case is: i have a short window of time when the windows PC see the driver in the device manager... then disconnects... do you have any idea what can i do to establish this connection betweeen the android device and the computer without interruption?
---------- Post added at 05:22 PM ---------- Previous post was at 05:12 PM ----------
cat, i´m doing 2 bat files (edited with notepad, is this correct?)
one file: pull.bat
with code
adb wait-for-device
adb pull /system/build.prop.bak
adb kill-server
another file: push.bat
with code
adb wait-for-device
adb push build.prop /system/build.prop
adb shell "su -c 'stop ric'"
adb shell "su -c 'busybox pkill -f /sbin/ric'"
adb shell "su -c 'mount -ro remount,rw /'"
adb shell "su -c 'chmod 0440 /sbin/ric'"
adb shell "su -c 'stop ric'"
adb shell "su -c 'busybox pkill -f /sbin/ric'"
adb shell "su -c 'mount -ro remount,rw /system'"
adb shell "su -c 'busybox cp -af /build.prop /system/build.prop'"
adb shell "su -c 'chmod 0744 /system/build.prop'"
adb shell "su -c 'rm /build.prop'"
adb shell "exit"
adb kill-server
what do you think?
Click to expand...
Click to collapse
I think need to remove the first line?
adb wait-for-device
federimau said:
Thanks cat, as i say, the main problem in this case is: i have a short window of time when the windows PC see the driver in the device manager... then disconnects... do you have any idea what can i do to establish this connection betweeen the android device and the computer without interruption?
Click to expand...
Click to collapse
You need to solve that problem before you can do anything else. Find an xda-developers forum that deals with your device and look there for fixes for your device's drivers. I am confident I can help you with Sony tablet drivers, but not your device's drivers. I don't even know the model of your device.
Create and use the following CheckDriver.bat file to help you troubleshoot the drivers. The script simply opens a DOS command window, starts the adb server, then lists the devices the adb server finds. The DOS command window will stay open until you press any key. If the script hangs, press ctrl+c to abort the script and close the DOS command window, then open another DOS command window and issue the "adb kill-server" command to stop the adb server.
Code:
@echo off
echo Starting ADB server and waiting for device.
echo.
adb wait-for-device
adb devices
pause
adb kill-server
federimau said:
cat, i´m doing 2 bat files (edited with notepad, is this correct?)
one file: pull.bat
with code
adb wait-for-device
adb pull /system/build.prop.bak
adb kill-server
another file: push.bat
with code
adb wait-for-device
adb push build.prop /system/build.prop
adb shell "su -c 'stop ric'"
adb shell "su -c 'busybox pkill -f /sbin/ric'"
adb shell "su -c 'mount -ro remount,rw /'"
adb shell "su -c 'chmod 0440 /sbin/ric'"
adb shell "su -c 'stop ric'"
adb shell "su -c 'busybox pkill -f /sbin/ric'"
adb shell "su -c 'mount -ro remount,rw /system'"
adb shell "su -c 'busybox cp -af /build.prop /system/build.prop'"
adb shell "su -c 'chmod 0744 /system/build.prop'"
adb shell "su -c 'rm /build.prop'"
adb shell "exit"
adb kill-server
what do you think?
Click to expand...
Click to collapse
Looks okay. Just keep in mind that the scripts are based on what is required for Sony tablets. Your device may require something a little different.
federimau said:
I think need to remove the first line?
adb wait-for-device
Click to expand...
Click to collapse
No. The "adb wait-for-device" command is what starts the adb server and causes the script to wait until the adb server detects a device before the next command in the script is issued.
Similar to the CheckDevice.bat file, you can insert the "@echo off" command at the beginning of your .bat files and the "pause" command just before the "adb kill-server" to cause the DOS command window stay open so you can see what is going on and the DOS command window will stay open until you press any key. Again, if the script hangs, press ctrl+c to abort the script and close the DOS command window, then open another DOS command window and issue the "adb kill-server" command to stop the adb server.
Cat McGowan said:
You need to solve that problem before you can do anything else. Find an xda-developers forum that deals with your device and look there for fixes for your device's drivers. I am confident I can help you with Sony tablet drivers, but not your device's drivers. I don't even know the model of your device.
Create and use the following CheckDriver.bat file to help you troubleshoot the drivers. The script simply opens a DOS command window, starts the adb server, then lists the devices the adb server finds. The DOS command window will stay open until you press any key. If the script hangs, press ctrl+c to abort the script and close the DOS command window, then open another DOS command window and issue the "adb kill-server" command to stop the adb server.
Code:
@echo off
echo Starting ADB server and waiting for device.
echo.
adb wait-for-device
adb devices
pause
adb kill-server
Looks okay. Just keep in mind that the scripts are based on what is required for Sony tablets. Your device may require something a little different.
No. The "adb wait-for-device" command is what starts the adb server and causes the script to wait until the adb server detects a device before the next command in the script is issued.
Similar to the CheckDevice.bat file, you can insert the "@echo off" command at the beginning of your .bat files and the "pause" command just before the "adb kill-server" to cause the DOS command window stay open so you can see what is going on and the DOS command window will stay open until you press any key. Again, if the script hangs, press ctrl+c to abort the script and close the DOS command window, then open another DOS command window and issue the "adb kill-server" command to stop the adb server.
Click to expand...
Click to collapse
I am working with all of you advices... i owe you a drink (if you agree!!!) Thanks
Cat McGowan said:
You need to solve that problem before you can do anything else. Find an xda-developers forum that deals with your device and look there for fixes for your device's drivers. I am confident I can help you with Sony tablet drivers, but not your device's drivers. I don't even know the model of your device.
Create and use the following CheckDriver.bat file to help you troubleshoot the drivers. The script simply opens a DOS command window, starts the adb server, then lists the devices the adb server finds. The DOS command window will stay open until you press any key. If the script hangs, press ctrl+c to abort the script and close the DOS command window, then open another DOS command window and issue the "adb kill-server" command to stop the adb server.
Code:
@echo off
echo Starting ADB server and waiting for device.
echo.
adb wait-for-device
adb devices
pause
adb kill-server
Looks okay. Just keep in mind that the scripts are based on what is required for Sony tablets. Your device may require something a little different.
No. The "adb wait-for-device" command is what starts the adb server and causes the script to wait until the adb server detects a device before the next command in the script is issued.
Similar to the CheckDevice.bat file, you can insert the "@echo off" command at the beginning of your .bat files and the "pause" command just before the "adb kill-server" to cause the DOS command window stay open so you can see what is going on and the DOS command window will stay open until you press any key. Again, if the script hangs, press ctrl+c to abort the script and close the DOS command window, then open another DOS command window and issue the "adb kill-server" command to stop the adb server.
Click to expand...
Click to collapse
Cat, i can not establish a stable and in-time connection between cell and PC...
type
adb wait-for-device
and never "see" the cell
i have the drivers upgraded
with usbview software i see the PC "see" the cell a short amount of time, then disconnects...
any advice??
federimau said:
Cat, i can not establish a stable and in-time connection between cell and PC...
type
adb wait-for-device
and never "see" the cell
i have the drivers upgraded
with usbview software i see the PC "see" the cell a short amount of time, then disconnects...
any advice??
Click to expand...
Click to collapse
Sounds to me your device simply is not responding to the adb server's attempt to connect. Again, my advice is for you to find an xda-developers forum that deals specifically with your device and look there for fixes for your device.
@Cat McGowan
Thank you for the info,
but it's not working on Recovery mode!
I try to backup and restore the build.prop file on cmd in recovery & in bootloop case.
working:
adb wait-for-device
adb pull /system/build.prop.bak or adb pull /system/build.prop
adb kill-server
not working push to the system: (even the cmd showing the opposite)
adb wait-for-device
adb push build.prop /system/build.prop
adb kill-server
I'm tring to resotre from PC or SD card...
(after changing the permission to system folder (instead only build.prop file) to 00644 the device keep get to Recovery mode! (with root browser app)
only flashing again the rom fix it.)
I got an error too:
- exec '/system/bin/sh' failed: Permission denied (13) -
by the way what Should to be on?
SuperSU or Superuser (ADB shell allow ?)
Developer Mode (Enable ADB ) +USB Debugging on
i'm worng what else?
I want to add some info:
I know the best way to edit this file only by : Notepad++ or EditPlus editor to preserve UNIX encoding
or Turbo Editor ( File Editor ) app.
read here:
http://forum.xda-developers.com/showpost.php?p=54970011&postcount=171
http://forum.xda-developers.com/showpost.php?p=55094822&postcount=203
and great script from user.
http://forum.xda-developers.com/showpost.php?p=55113422&postcount=208
will this work too on recovery or bootloops mode?
backup:
adb shell
su
mount -o remount,rw /system
cp /system/build.prop /system/build.prop.bak
mount -o ro,remount /system/ /system
----
restore:
adb shell
su
mount -o remount,rw /system
cp system/build.prop system/build.prop.bootloop
cp system/build.prop.bak system/build.prop
chmod 00644 system/build.prop
reboot
I found I can use these ADB commands to turn on and of the WiFi of a rooted phone:
Code:
adb shell su -c 'svc wifi enable'
adb shell su -c 'svc wifi disable'
However, I'm interested in doing it without having to root the phone for an automatic testing I'm doing. Do you guys know if this is possible?
I found this project which allows me to connect to a WiFi through ADB commands not being a root user. I was wondering if anyone knows how to disconnect also from ADB and not being a root user.
UPDATE:
I've been recently trying:
Code:
C:\adb>adb shell am start -a android.intent.action.MAIN -n com.android.settings/.wifi.WifiSettings
adb server is out of date. killing...
* daemon started successfully *
Starting: Intent { act=android.intent.action.MAIN cmp=com.android.settings/.wifi.WifiSettings }
Warning: Activity not started, its current task has been brought to the front
and
Code:
C:\adb>adb -s serial_number shell am start -a android.intent.action.MAIN -n com.android.settings/.wifi.WifiSettings
Starting: Intent { act=android.intent.action.MAIN cmp=com.android.settings/.wifi.WifiSettings }
Warning: Activity not started, its current task has been brought to the front
I also found doing this type of command:
Code:
adb shell input keyevent 20 & adb shell input keyevent 23
I can navigate and click. The problem seems to be that I always finish in a different state so the next time I input the command
Code:
adb -s serial_number shell am start -a android.intent.action.MAIN -n com.android.settings/.wifi.WifiSettings
I start in a different place and start clicking elsewhere. I've tried returning home, but that doesn't fix the issue. Is there any way to start always from the same point inside the WiFi settings?
Thanks!
natiya said:
I found I can use these ADB commands to turn on and of the WiFi of a rooted phone:
Code:
adb shell su -c 'svc wifi enable'
adb shell su -c 'svc wifi disable'
However, I'm interested in doing it without having to root the phone for an automatic testing I'm doing. Do you guys know if this is possible?
Click to expand...
Click to collapse
Turn WiFi off
Code:
adb shell settings put global airplane_mode_on 1
adb shell settings put global wifi_on 0
adb shell settings put global wifi_scan_always_enabled 0
Afterwards you've to re-boot the device.
Turn WiFi on
Code:
adb shell settings put global airplane_mode 0
adb shell settings put global wifi_on 1
adb shell settings put global wifi_scan_always_enabled 1
jwoegerbauer said:
Turn WiFi off
Code:
adb shell settings put global airplane_mode_on 1
adb shell settings put global wifi_on 0
adb shell settings put global wifi_scan_always_enabled 0
Afterwards you've to re-boot the device.
Turn WiFi on
Code:
adb shell settings put global airplane_mode 0
adb shell settings put global wifi_on 1
adb shell settings put global wifi_scan_always_enabled 1
Click to expand...
Click to collapse
Thank you, but those don't produce any change on my device. Actually, if I put the first two commands without doing "adb kill-server" in between, I get this message:
error: more than one device/emulator
Click to expand...
Click to collapse
But the output when they work is:
adb server is out of date. killing...
* daemon started successfully *
Click to expand...
Click to collapse
and nothing happens.
I've been recently trying:
Code:
C:\adb>adb shell am start -a android.intent.action.MAIN -n com.android.settings/.wifi.WifiSettings
adb server is out of date. killing...
* daemon started successfully *
Starting: Intent { act=android.intent.action.MAIN cmp=com.android.settings/.wifi.WifiSettings }
Warning: Activity not started, its current task has been brought to the front
and
Code:
C:\adb>adb -s serial_number shell am start -a android.intent.action.MAIN -n com.android.settings/.wifi.WifiSettings
Starting: Intent { act=android.intent.action.MAIN cmp=com.android.settings/.wifi.WifiSettings }
Warning: Activity not started, its current task has been brought to the front
This opens the screen where you can turn on and off the WiFi but it doesn't do it...not sure if I'm missing something!
Just to be shure, make shure your using the latest version of ADB offered by google here:
https://developer.android.com/studio/releases/platform-tools
You could use adb wifi
After activating when using usb it and connecting through the same wifi:
svc wifi enable
works without root
I'm a little late to this thread, but if it still helps the OP, non-rooted Android 10 and below allowed wireless adb connections AFTER a USB connection was first established (adb start-server && adb tcpip 5555 && adb connect [IP]:5555), but that changed (for the better) in Android 11 and above with the new new Developer options Wireless debugging random port assignments (adb connect [IP]:[PORT] or adb pair [IP]:[PORT] [PIN]) such that the adb wireless connection never needs USB cable ever again.
Given Android 11 allows Developer options Wireless debugging via a random port, and Android 12 new Developer options Wireless debugging allows that to be accessed even easier with a new Developer options Wireless debugging tile, the only thing missing is a way to turn the non-rooted Android Wi-Fi on or off via adb (which was the OP's original question after all).
Maybe this will work if we can figure out how to tap the buttons?
adb shell "am start -a android.settings.WIFI_SETTINGS"
Click to expand...
Click to collapse
For swiping on the phone from adb this works...
C:\> adb shell input swipe 500 1000 500 100
This will instantly swipe from center to the top of the screen.
You can add a time period, e.g., take 3 seconds to swipe that.
C:\> adb shell input swipe 500 1000 500 100 3000
Click to expand...
Click to collapse
But you want to tap the buttons, right?
If we can figure out the positions, maybe this would work?
C:\> adb shell am start -n com.google.android.gms/.ads.settings.AdsSettingsActivity
That should pop up an Android "Reset Advertising ID" settings page.
C:\> adb shell input tap 500 400
If run after the command above, that will tap the button to
asking to "Opt out of Ads Personalization" in that Activity
if that button is like mine, at the X=500 & Y=400 location.
On my phone, this is the "Reset advertising ID" button location:
adb shell input tap 500 200
On my phone, this is the "OK" button on that GUI above.
adb shell input tap 700 1000
C:\> adb shell am force-stop com.google.android.gms
If run after bringing up the advertising-id reset Activity,
it will close the activity without doing anything else.
Click to expand...
Click to collapse
Here is a somewhat related post...
[adb,scrcpy,vysor] What ports does Android 12 randomly set when Wi-Fi connecting via Wireless debugging adb "pair" or "connect" commands?
Type adb tcpip 5555 in the command line or Terminal and press Enter.
Find your phone's IP address in Settings > About Phone > Status > IP Address.
Back in the command line or Terminal, type adb connect [your Android's IP address].
Finally, press Enter again.
Regards,
J Wick
Hey,
whenever I issue a reboot command via adb to a device that is connected via network / tcp, adb freezes (I guess because it waits for the response to the command that never arrives because the device is offline). Regardless if I use "adb reboot" or "adb shell reboot" ... I tried delaying the reboot with sleep and spawning it separately with & but nothing worked...
Code:
adb shell "sleep 5 &"
adb shell "(sleep 5) &"
adb shell "(sleep 5 &)"
It always waits until execution finished...
Any ideas?
If you invoke the SLEEP command it gets processed - even if forced to get processed in background.
FYI: Running a command in background simply means a user-interaction isn't possible.
jwoegerbauer said:
If you invoke the SLEEP command it gets processed - even if forced to get processed in background.
FYI: Running a command in background simply means a user-interaction isn't possible.
Click to expand...
Click to collapse
Yeah, but when I execute "sleep 5" within the shell, I cannot do anything until sleep finished. When I execute "sleep 5 &" within the sell, I can immediately enter the next command.
Same is NOT true with adb shell. Both "adb shell sleep 5" and "adb shell sleep 5 &" wait until sleep finish.
Of course I want "sleep" to execute in background. I want to execute "sleep 5 && reboot &" so adb has time to read the response and I can execute "adb disconnect" on the host before the device reboots.
Each
Code:
adb [-d|-e|-s <serialNumber>] shell "<shell_command>"
invokes a separate ( new ) terminal session and waits for this session has finished
To get around this open a remote shell, means invoke a terminal session only once and execute the commands desired
Code:
adb [-d|-e|-s <serialNumber>] shell
<shell_command>
exit
I'm sorry but I don't understand what u mean by that :/
I want to run this on my host:
Code:
adb command_that_will_reboot_connected_device_in_5_sec_without_blocking
adb disconnect
...
Any solutions for that?
If BusyBox is installed on device's Android, and if BusyBox has commands crond & crontab & reboot implemented, then you can create on Android a scheduled task to reboot Android by means of crontab
Example ( untested ) what re-boots Android in 1 minute:
Code:
adb shell
mkdir -p '/data/local/tmp/cron'
echo */1 * * * * reboot > /data/local/tmp/cron/crontab
busybox crond -c /data/local/tmp/cron
busybox crontab -c '/data/local/tmp/cron/' '/data/local/tmp/cron/crontab'
exit
Well, that sounds pretty overkill...
Found a solution... I moved the problem to the host by spawning the "hanging" adb process seperately (using windows in this case):
Code:
start adb reboot
timeout /t 3
adb disconnect
...