So i thought my usb port was damaged, replaced it, still no data connection. charging just fine. all usb settings are greyed out.
I thought it may have been rom related, flashed a new rom, it replaced my recovery as well unfortunately, on first boot it installed an OTA to the 2nd slot, which also replaced my recovery, I cannot access ADB except over wifi which is pretty helpful but cant sideload over wifi, cannot access fastboot to flash any of the good stuff. I can use root but only through adb shell on computer which is a godsend.
I managed to manually install busybox, so i have that. cant figure out how to flash firmware without usb access. cant figure out how to pull patch and push my boot image with magisk without fastboot.
checked my init script as well as the init.usb scripts and compared them with a generic one online, they seem ok as far as i can tell. getprop shows usb is ok. But:
jasmine_sprout:/ # echo 1 > sys/devices/virtual/android_usb/android0/enable
/system/bin/sh: can't create sys/devices/virtual/android_usb/android0/enable: Permission denied
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2|jasmine_sprout:/sys/devices/virtual/android_usb/android1 # cat state
DISCONNECTED
jasmine_sprout:/sys/devices/virtual/android_usb/android1 # cd ..
jasmine_sprout:/sys/devices/virtual/android_usb # cd android0
jasmine_sprout:/sys/devices/virtual/android_usb/android0 # ls
f_audio_source f_midi power state subsystem uevent
jasmine_sprout:/sys/devices/virtual/android_usb/android0 # cat state
DISCONNECTED
I dont understand why it is attemtpting to create that instead of changing the value in it. and the second figure shows usb is disconnected but it is not
I am getting much better at linux but still have alot to learn, so i can understand most instruction just need a point in the proper direction.
Xiaomi Mi A2 type C
I will attach my init scripts i dunno how helpful that is. also trying to record a trace while connecting and enabling USB features. All USB options are greyed out
https://drive.google.com/drive/folders/18gKDQBjQ6wORyHncdcBBfHvOAZZkh44L?usp=sharing
google drive folder with all init files inside. im going to make them txt files and attach to xda actually
I attached all init files to original post.. I am growing desperate for regular functionality of my phone. I shouldve submitted a warranty claim instead of changing the USB of the device
Bump
Related
I've got a droid razr; rooted, stock rom
I broke the screen accidentally and now the screen isn't showing anything and touch isn't working.
I'd like to recover all the data off my device, but since it's locked, it won't budge. Drives won't mount when I plug it into my PC.
I've got a previous backup which is a little older, but i'm interested in backing up the actual databases (texts, call logs, etc) and system data too, along with my images and personal data.
Is there any way I can perform a whole backup while the system is locked like this?
I've already searched the forum for previous threads with similar issues, but I couldn't find one with a viable solution.
Any help is appreciated, thanks in advance.
Partial Update
Hey all-
I've partially solved my problem.
I was able to get ADB working miraculously. I downloaded the Motorola Device Manager and installed it, also downloaded the Android SDK/Java SDK;
Using the sdk manager i installed the google usb drivers (im not sure it helped any way, but just in case)
after that I ran through the process of adb
Code:
adb kill-server
adb start-server
**plug in device**
adb wait-for-device
adb get-serialno
From there I was able to use "adb shell" and navigate around the file system; used su, went to /data/system/ and did "mv gesture.key gesture.key.bak"
I then restarted my phone and did a repeat of wait-for-device, and get-serialno just to verify the phone was connecting properly.
I then browsed to my computer and amazingly, the drives mounted, my sdcard, and sdcard-ext as removable drives and I was able to view the contents.
-------
So now, I'm stuck here with a device that's NOT locked, I can view my files, and I can navigate the file system.
My end goal is to be able to copy everything from /data/ to /etc/ /system/ /root/ /sdcard*/ /vendor/ /xbin/ and any other system file that's not available through the mounted drives.
I'll keep this thread updated, and if anybody has any help or clue on how I'd do this, it'd be greatly appreciated.
So far I've tried variations on "adb pull" using / as a root dir; trying to find a way to use the shell to invoke scp, ssh, or some other file transfer, but I get no network connection. While in the adb shell and doing any file operations, I get an error stating that it's a read-only file system as well.
Fixed
I just wanted to let you all know that I've resolved my problem.
Let me state the issue again.
- Screen and touch broke.
- Device locked with pattern
- Rooted
- ICS - Stock Verizon ROM
- USB Mode was UMC, not PTP/MTP
- USB Debugging enabled
I used ADB to delete /data/system/gesture.key and rebooted, effectively removing the device lock, and allowing drives & data on my SD cards to show up in explorer after a reboot of the phone.
After futzing around for a bit, I realized the phone was tied to my Google account, and I remotely installed "Droid VNC Server" (app name org.onaips.vnc)
From there I found a way to activate the VNC server through the ADB command line
Source: android.stackexchange.com/a/31957
Code:
Application located in
/data/data/org.onaips.vnc/files
With a root shell, run this
chmod 766 /data/data/org.onaips.vnc/files/androidvncserver
Then you can execute the vnc server from the command line
/data/data/org.onaips.vnc/files/androidvncserver
Run this to forward the port
adb.exe forward tcp:5901 tcp:5901
On your VNC client, connect to localhost:5901
From there I was able to get access to my home screen and pulled the notification drop down and changed from USB Mass Storage to Camera/Media Mode
Rebooted the phone, started the vnc server again, connected to it and moved some files around to my SD Card
In another adb shell as root, I was able to copy files from /data/data/ (or anywhere else I wanted) and write them to anywhere on /sdcard-ext/
From there in another command shell, I ran adb pull /sdcard-ext/datafolderfile
=========================================================================
I believe this to be the overall gist of things, though I ran into hiccups along the way, while I was messing around, I changed some permissions which caused my su executable to break and only be allowed to run shortly after booting the phone; and also because of the broken screen, something would cause the phone to reboot every so often, breaking my connections, backups, file transfers, and etc
There's also a cool option in adb
Run
"adb backup" and it'll give you all the switches, you'll have to confirm the backup on your phone, so be sure to be running VNC and confirm it, but adb backup should be able to grab everything you need. Like I said it didn't work for me because my phone would reboot;
I hope everybody that sees this can benefit from it
Annafunny said:
So did you extract your data from your Razr with adb finally?
Click to expand...
Click to collapse
This thread is really old (4 years)... and the answer was provided.
To avoid further issues, closed.
Usually, there are some files in the root of your phone containing the scripts to initialize all possible USB configs. Those files are named like init.[something].usb.rc or, maybe, there also are some .sh scripts with "usb" in the name.
In case of my Z7 mini, there are init.nubia.usb.rc and init.qcom.usb.sh. Looking into the latter, it appears the engineering mode is enabled with the 'nubia' key, which meaning is defined in the former .rc file.
So opening the diag COM port is done with a simple terminal script (you may also make yourself a simple .sh if you like) -
Code:
su
setprop persist.sys.usb.config nubia,adb
(or the same without adb)
Then to close the port, run -
Code:
su
setprop persist.sys.usb.config none
and then set your preferred USB config in the regular settings of your ROM.
In principle, it should work on any ROM, including CM, Mokee etc. And with the due adjustments to keys' names, it should work with most ROMs/devices in general
Found a simple way to improve BT coverage, in fact it's the way to restore it to normal.
Adding a prop -
Code:
qcom.bt.dev_power_class=2
in the build.prop restores normal coverage range for bluetooth, that normally is way too poor with our phones.
Now my BT A2DP streaming coverage is at normal 10m or better. No stutters, no breaks.
Found the necessary prop in the etc\init.qcom.bt.sh
There's also a prop for the low-energy BT, but it's already set for higher power.
Found another way to open diag COM port that doesn't depend on the firmware installed, it even works without any firmware at all. Seems to be hard-coded.
What happens is that the diag COM port is open and also all the partitions of internal flash memory are mounted over USB connection to PC. And those partitions may be read and written if the PC recognises the filesystems there.
Moreover it all works both with the battery connected as well as with battery disconnected.
To get it all, switch the phone off, press and hold only the both ends of the volume rocker and then connect the USB cable. As devices start to get recognised, release the rocker.
Hi, I hope I am posting in the right section? I found the site really difficult to navigate having never used the site before. If its in the wrong place please can a mod move it.
Ok so I have an Android Set Top Box (STB) and I am trying to extract all the data from it. It is an mxp pro 4k. I don't want a backup of the data I want to extract full images of the device for analysing with forensic tools. The problem is I can't seem to communicate with it. I have the full SDK that is up to date, once navigated to the platform tools folder I opened a command line and typed
Code:
adb devices
after plugging in a USB cable to the OTG port. No prompts appeared on the screen to trust any connections like my iPhone does when I connect it. Adb devices returns no results. So I tried wireless adb, I typed
Code:
adb connect 192.168.x.x
and it said connected. Then when running the devices command I had the ip and port then the word device. I then get a shell by using
Code:
adb shell
Which i then elevate to root by using
Code:
su
. Then when i try an adb pull or adb backup I get a message saying error device offline.
Im new to Android so not even sure I am doing it right. I have done a lot of reading and research but seem to be stuck with the basics. To confirm USB debugging is turned on.
Hey Guys,
Been lurking for a while. I want to get into some Android development. I bought a cheap Galaxy Tab s SM-T800 from ebay. It was a retail unit, so came with the usual retail protection, but that was no issue, I've reflashed it and rooted it, it is now running 6.0.1 with build number MMb29K.T800XXU1CRJ1.
The issue is, there are a bunch of apps and files that appear to be left over from the retail demo mode, and I can't remove them. The apps won't uninstall, it just says "uninstall unsuccessful", and the files, when I try to delete them, it just says "failed to delete".
Even after freshly restoring the new firmware, the storage on this device is pretty much zero, a lot of the space being taken up with the files and apps that I can't remove.
There was just about enough space remaining to install System App Remover, but that couldn't delete the files and apps either.
How are these files being write protected? How do I go about removing the write protection? I'm wondering if this device, because it was a retail demo unit, was configured with some kind of write protected partition, which is why the storage is so low, and why I can't delete the apps?
Any thoughts, this is driving me nuts.
Thanks
Install a file manager that allows to mount the partitions in question as READ-WRITE, thus folders/files can get deleted
jwoegerbauer said:
Install a file manager that allows to mount the partitions in question as READ-WRITE, thus folders/files can get deleted
Click to expand...
Click to collapse
Thanks, but I can't install any of the file manager apps, as there is not enough free space. I'll need to do it by connecting from Windows. What android partition/file manager would be a good one to use from Windows?
DotNetDude said:
Thanks, but I can't install any of the file manager apps, as there is not enough free space. I'll need to do it by connecting from Windows. What android partition/file manager would be a good one to use from Windows?
Click to expand...
Click to collapse
Because your device is rooted, you use ADB ( read: Android Debug Bridge ) - what you've to install on your Windows computer - to manage this device - you must have turned on Developer options -> USB Debugging on it, of course: IMHO the only the chance you have.
Once done so, you connect your device via USB cable with Windows computer, then in Windows command prompt run the commands as follows - one after one:
Code:
adb devices
adb root
adb shell mount -o rw,remount / -t auto
If success then your Android device completly is switched to READ-WRITE mode, you then via further relevant ADB commands can remove folders/files which you consider dispensable, even apps if you know their package name, and so on ...
jwoegerbauer said:
Because your device is rooted, you use ADB ( read: Android Debug Bridge ) - what you've to install on your Windows computer - to manage this device - you must have turned on Developer options -> USB Debugging on it, of course: IMHO the only the chance you have.
Once done so, you connect your device via USB cable with Windows computer, then in Windows command prompt run the commands as follows - one after one:
Code:
adb devices
adb root
adb shell mount -o rw,remount / -t auto
If success then your Android device completly is switched to READ-WRITE mode, you then via further relevant ADB commands can remove folders/files which you consider dispensable, even apps if you know their package name, and so on ...
Click to expand...
Click to collapse
Thanks for your details.
So I tired this but the adb root command wasn't working. It was coming up with the message:
adbd cannot run as root in production builds
So after a bit of research, I found the adp insecure app from Chainfire, that apparently resolves this exact problem. So I've deployed that to the tab and run it, but now when I connect the tablet to my PC, the PC doesn't connect. I get the charging symbol on the tab, so the connection is in place, but it is not detected by the pc, so I can't connect using adb.
Any suggestions would be much appreciated?
Thanks
DotNetDude said:
Thanks for your details.
So I tired this but the adb root command wasn't working. It was coming up with the message:
adbd cannot run as root in production builds
So after a bit of research, I found the adp insecure app from Chainfire, that apparently resolves this exact problem. So I've deployed that to the tab and run it, but now when I connect the tablet to my PC, the PC doesn't connect. I get the charging symbol on the tab, so the connection is in place, but it is not detected by the pc, so I can't connect using adb.
Any suggestions would be much appreciated?
Thanks
Click to expand...
Click to collapse
I realise I am responding to my own message!
Now that I am running with adb insecure, I have realisd that the USB debugging mode from developer settings is working in reverse. That is, if I enable it, the tab detaches form the PC. If I disable it, the tab reconnects to the pc. However with that setting disabled, and the pc connected, when I then run the command adb devices, it says there are no devices connected (even though I can browse to the tablet through windows explorer)
From within the adb insecure app on the tablet, when I enable the app, I can see it displays a message that says USB debugging is disabled.
I have no idea what is going on here...
Any help much appreciated?
Thanks
@DotNetDude
May be reading this helps.
jwoegerbauer said:
@DotNetDude
May be reading this helps.
Click to expand...
Click to collapse
Thanks for this. Actually, adbd insecure was just causing more problems. In the end I have resolved this by extracting the PIT file and re-partitioning. Firmware then restored correctly and all the problems are now gone, and there is plenty of free space remaining.
Hi All,
I need to set up a reliable way to access this phone remotely via USB. Looks like whenever the phone is connected to a USB host (a server in my case) via USB it presents itself with wrong vendor/product IDs as follows from the lsusb output on the host:
Bus 002 Device 006: ID 18d1:4ee8 Google Inc. Nexus/Pixel Device (MIDI)
, which only changes to the right ones when I select "Transfer Files" (MTP) mode in the pop-up menu on the phone:
Bus 002 Device 007: ID 22d9:2765 OPPO Electronics Corp. Oppo N1
Is there a way to memorize my "Transfer Files" (MTP) mode selection for this particular host, so there's no need to select it every time? (it has Default USB Mode set to MTP in Dev Options, which it seems to be ignoring) The problem is that the phone isn't accessible remotely at that early stage yet, probably because of those wrong vendor/product IDs, hence catch 22. IIRC when connecting some other phone (probably a Samsung one) to my Windows laptop in the past I'd normally make my mode selection for it once and was never prompted to select it again and again for that phone, so if it's actually the Windows that remembered my selection back then how do I achieve the same with Linux on my current host? (CentOS 7).
Many thanks in anticipation!
The selection of which interfaces to present (ADB, MTP, Midi...) and which VID/PID to use is decided on the Android, the host plays no role.
There is a lot of OEM customization and stupidity on USB mode selection.
You can try:
Code:
$ setprop persist.sys.usb.config mtp,adb
It may say that you can't.
Me? I just set it to ADB and do everything through that.
@Renate: thanks for your reply.
> $ setprop persist.sys.usb.config mtp,adb
I suppose it requires rooting the phone first, right?
Code:
127|OP5552L1:/ $ setprop persist.sys.usb.config mtp,adb
Failed to set property 'persist.sys.usb.config' to 'mtp,adb'.
See dmesg for error reason.
1|OP5552L1:/ $
1|OP5552L1:/ $ dmesg
dmesg: klogctl: Permission denied
1|OP5552L1:/ $
Yeah, you need root for that on yours.
You can set it Settings to "No transfer" and leave the ADB on.
That will probably stick.
Copy individual files with adb push.
I use my adbsync.exe to keep all my devices synced with content and the photos pulled to desktop.
Renate said:
Yeah, you need root for that on yours.
You can set it Settings to "No transfer" and leave the ADB on.
That will probably stick.
Click to expand...
Click to collapse
Just tested it and still getting that mode selection prompt on it upon plugging USB cable into it, and the wrong vendor/product IDs presented again... Unsure I'll be allowed to root this phone because of the warranty but I'll ask.
It's not really "wrong" VID/PID.
There are the stock Android VID/PID that are 18d1/4ee?
Then there are the Oppo ones like 22d9/2765
It's the stupid UsbManager that's doing that popup silliness.
In point of fact, when it's plugged in it's already in some mode.
Renate said:
It's not really "wrong" VID/PID.
There are the stock Android VID/PID that are 18d1/4ee?
Click to expand...
Click to collapse
I understand they're some vendor-independent Google/Android ones at that early stage: looks like it's not the only phone behaving this way.
Renate said:
It's the stupid UsbManager that's doing that popup silliness.
In point of fact, when it's plugged in it's already in some mode.
Click to expand...
Click to collapse
Yeah, just not in the right one for my remote mgmt application Unfortunately there doesn't seem to be a way to force desired VID/PID onto it in all its modes from the USB host side... unless the phone can be instructed to always use them somehow (like using that CLI you advised).
It would certainly annoy me if every time I plugged in an Android it asked me what to do!
If you were rooted you could easily patch something in services.jar to get around this.
Renate said:
It would certainly annoy me if every time I plugged in an Android it asked me what to do!
If you were rooted you could easily patch something in services.jar to get around this.
Click to expand...
Click to collapse
Yeah, fortunately it's my customer's phone and not mine I'll inquire about the possibility of rooting it then, as it seems to be the last hopeful thing left by now.