Phone Turns off Mid-Call - AT&T, Rogers HTC One X, Telstra One XL

This has happened to me half a dozen times now. I receive or place a call while the phone is connected to hands-free bluetooth in my car, I switch to 'HTC One X' to carry on the conversation using just the phone, not the bluetooth, and soon after (sometimes as little as 20 seconds or so, sometimes after a few minutes) I discover that I've lost the connection. I take the phone away from my ear to look at it and then realize that, not only have I lost the connection, the phone has turned off completely! At one point, I had a fairly long conversation with my sister (maybe a total of 45 minutes) and during that one phone call, I had to call her back 4 times because the phone kept turning off. Anyways, I already created a thread on HTC's official forums hoping maybe they'll create a fix, but I've always found XDA to be much more helpful in helping me find solutions to issues...
P.S. Couple other things of note: I can't recall this ever occurring when I'm NOT connected to bluetooth, it doesn't happen every time, but often enough that if I ever stop hearing the other side of the phone call, the first thing I assume is that my phone's turned off.

bikeracer4487 said:
I receive or place a call while the phone is connected to hands-free bluetooth in my car, I switch to 'HTC One X' to carry on the conversation using just the phone, not the bluetooth, and soon after (sometimes as little as 20 seconds or so, sometimes after a few minutes) I discover that I've lost the connection. I take the phone away from my ear to look at it and then realize that, not only have I lost the connection, the phone has turned off completely!
Click to expand...
Click to collapse
It's really tough to diagnose problems like this without details. If possible, next time this happens capture a logcat log and attach it to this thread. With a few eyes on it someone may spot the root problem.
Capturing a logcat is a little inconvenient though. If your phone is rooted, try this:
Install "Terminal Emulator" from Google Play: https://play.google.com/store/apps/details?id=jackpal.androidterm&hl=en
Wait for the problem to occur (call drop and/or device power down during call)
As soon as possible after the problem occurs, launch Terminal Emulator
Enter this command in Terminal Emulator: su (you will probably be prompted for root/superuser access; grant access)
Enter this command in Terminal Emulator: cd /sdcard
Enter this command in Terminal Emulator: logcat -d -v long -f logcat.main.txt
Enter this command in Terminal Emulator: logcat -d -v long -b radio -f logcat.radio.txt
You can now close Terminal Emulator. There will be 2 files, logcat.main.txt and logcat.radio.txt, in the root directory of your SDCard; attach these two files to this thread. Note that you may want to scan them and scrub any personal information first.
Alternately, especially if your device isn't rooted, you can connect the device to your PC and run the "adb" command from your PC. To do this you will need to install the Android SDK. Here is some starter material for using adb via the Android SDK:
Android SDK Download: http://developer.android.com/sdk/index.html
Adb Command: http://developer.android.com/tools/help/adb.html
Logcat Command: http://developer.android.com/tools/debugging/debugging-log.html

Related

Trying To Register Without a Data Plan (apparently) But...

I need to know more about ADB I guess, like how to get it to stay open when I double click the app if thats even how I open it. Instead the window keeps closing as soon as it opens.
My friend (the one who owns this forum account) just downgraded my G1 from RC33 to 29 and now its asking me to sign in but I can't. Apparently my girlfriend can't either on her phone and we didn't do anything with hers but I just signed her in through wifi since it wasn't on the setup screen like mine was. I on the otherhand am stuck at the beginning and need a way to get around it, I don't know why we lost the data plan we had all of a sudden but I'm not going to bother with that and instead will keep moving forward with an alternative.
I'm completely noob to all things command promp so I don't know what an SDK is, just found out what the ADB is and dled that and the drivers but can't start anything up as of yet. I know my android is at RC29 because of the reboot test on the how to bypass the registration thread.
EDIT: Lmfao I guess I picked a bad time to modify my G1, at the time of this post there is a global outage of T-mobile's internet, everything west of the mississippi river is out so thats why I couldn't sign in before, if this thread gets locked or ignored then its ok, I can just wait it out, but just goes to show murphy's law is the real deal, the day I decide to finally start editing stuff this happens.
I'm not really an expert and I had to learn as I went, but here's how I went through the same problem.
Basically, you don't run ADB as a normal program, you open a command prompt (for vista and xp go to run and type cmd) and then you have to navigate to the folder that ADB is in, so if you have the SDK on your desktop youd type something like
"cd c:\users\yourusername\desktop\SDK\tools" (for vista)
yours will probably differ, but use "cd" to navigate to the folder ADB is in. Then assuming you have your phone and the drivers setup properly, when you're navigated to that folder you can type commands that start with adb or whatever and they should work.
If that doesn't work then your phone may not be setup properly, in which case you need to follow the steps in the registering without a data plan thread, although I had a sim so I skipped the disabling of the insert sim screen. The rest is fairly simple, assuming you've got past the insert sim screen somehow you need to type on your phone
<enter>setprop persist.service.adb.enable 1<enter>
I did this in the email box of the signup so you can actually see what you've typed because you won't know if it's worked until you actually try it. After that again type
<enter>telnetd<enter>
which will allow you to get root access to the phone temporarily, then we connect to your phone from your computer.
In a command prompt on your computer do what I said up top by navigating to the folder ADB is in (c:\users\yourname\desktop\sdk\tools or whatever depending on which version of windows you're on and where the SDK is) and type
adb shell
this will probably say the daemon is not currently running, start the daemon etc.... this is good. If it then gives you a hash (#) at the start of the line you are now accessing your phone from your computer. If not, type
adb devices
and see if it gives you anything under where it says "List of devices attached" in the command prompt. If not it's not recognising your phone so you need to get it to do that first.
Last step when you have this, on your computer type
am start -a android.intent.action.MAIN -n com.android.settings/.Settings
which should bring up the page on your phone to enable and manage wifi connections... Connect to your wifi like normal, check it says connected on the settings page and press back and you can register over your wifi.
Hope this helps, I'm no pro but this is how I did it and it worked fine.

Mac- activate (register) g1 without data plan

It took me forever to piece together how to do this will all the pc forums so I decided to write up one specifically for mac.
First your phone has to be rc29 or rooted. please go to http://androidandme.com/2009/05/gui...r-rooting-your-android-g1-to-install-cupcake/ for the best way to do this. To find out if your phone has this hit enter type reboot and hit enter again. If it reboots you are in go shape.
Second you need download a couple of this to your computer.
Android-sdk-mac http://developer.android.com/sdk/download.html?v=android-sdk_r3-mac.zip
and adb http://android.googlecode.com/issues/attachment?aid=2845842048498102014&name=adb.zip
Unzip both files and then place adb in android-sdk-mac/tools folder
Now back to your phone. press enter then setprop persist.service.adb.enable 1 and then enter again.
It should say something like this is not an emergency number.
Now back to your computer. Open your terminal and then go to you finder and find android-sdk-mac. Click tools and then drag adb to your terminal and type shell after it and hit enter. If you get a permission denied type sudo and then drag adb over again.
You should get daemon started successfully and then next line $
type am start -a android.intent.action.MAIN -n com.android.settings/.Settings and hit enter.
Now look at your phone. It should have popped up a screen letting you in to wireless connections.
I hope this helps
nice work ;]
Ok so I started this thread about 3 months ago. I got one nice work...yay for me....but that was it I would really like to know if this is working everyone. I know it is mac based and you can probably figure it out from the windows based ones but I do want to make sure it is working for everyone so if you use this please let me know if it worked or any that should be added to it by posting a reply. Thank you
this is exactly the same as jf's tutorial...
i am not as good with computers and trying to figure out the mac steps using a windows guide took me forever. I was just trying to help anyone else in my same situation.
Awesome!
It works great! After spending 2 days uninstalling, reinstalling and generally fighting with Windows 7's automatic driver installation I borrowed my room-mate's mac and got this done in less than 15 minutes! Incredibly refreshing. Thanks!
...
Wonderful! It worked like a charm.... I just have a problem with the Cupcake interface, I like the Donut much better, is there a way to do this on that interface? And if not is there a way to get the Donut market place?

Obtain MSL code on Linux/Unix

How to find the MSL for your Photon Q
chrisngrod posted a tool for getting the MSL from logcat (http://forum.xda-developers.com/showthread.php?p=31765156) but is in the form of a .bat script, which isn't very useful for Mac or Linux users. I'm a decently regular reader, but I guess I've never posted. So sorry that this isn't in the dev section.
I'm assuming a couple things here
You have the android SDK installed, or at least adb available to you
You have a Motorola Photon Q (on Sprint?) plugged into your computer and appropriate drivers installed (if needed--not sure)
USB Debugging is enabled on your device
You know what a terminal is, or at least how to use one
You are in the current directory of adb. If it's in your path, omit the "./"
Make sure your computer sees your phone
Code:
./adb devices
You should see something like
Code:
List of devices attached
T*******Y device
where *'s are numbers. If you don't see any devices, make sure nothing else is interfering (tethering apps on computer, etc)
Now, go to the dialer on your phone, and dial ##DATA#. A menu should pop up, tap on Data Profile, then the three dots at the top right, and finally Edit. Enter 6 random digits, and click Verify.
Now go back to your computer and run this
Code:
./adb logcat -b radio -d | grep "grde"
Hopefully you'll only see one line. If there's more than one, look for one that looks like this
Code:
09-21 21:56:38.837 360 360 E RIL-MOTEXT: NV Read 32, length 6, data length 6, grde - 313934333230
The last set of numbers is what we care about. Your MSL is encoded in the even digits (in counting i.e. 2, 4 ,6 ,8 ..). Mine happened to be hidden in some 3's. So this phone's MSL is 194320.
Test it out by going back to your phone and typing it in.
This worked for me, and I haven't found anywhere else that talked about doing it for the Photon Q, so please correct any incorrect information.
asinginglamp said:
How to find the MSL for your Photon Q
Now go back to your computer and run this
Code:
./adb logcat -b radio -d
Hopefully you'll only see one line. If there's more than one, look for one that looks like this
Code:
09-21 21:56:38.837 360 360 E RIL-MOTEXT: NV Read 32, length 6, data length 6, grde - 313934333230
The last set of numbers is what we care about. Your MSL is encoded in the even digits (in counting i.e. 2, 4 ,6 ,8 ..). Mine happened to be hidden in some 3's. So this phone's MSL is 194320.
Click to expand...
Click to collapse
I was able to do this with only the phone and connectbot. Putting in a false code and then looking over logcat for the NV Read 32, Mine was also hanging out with a group of 3s.
KitsunePaws said:
I was able to do this with only the phone and connectbot. Putting in a false code and then looking over logcat for the NV Read 32, Mine was also hanging out with a group of 3s.
Click to expand...
Click to collapse
Nice. I tried doing it with aLogcat, but didn't see anything. Didn't think to try connectBot.
with me it was between the 3's, i copied the msl.bat to the ADB-platform tools folder what i use for compiling-decompiling apk's, and it worked.
This Is Cray
Gojira-r32 said:
with me it was between the 3's, i copied the msl.bat to the ADB-platform tools folder what i use for compiling-decompiling apk's, and it worked.
Click to expand...
Click to collapse
err
i tried this method the only thing i see on the transcript using adb logcat is checksubsidylockpasswrdcomplete<>errorno=RIL_OEM_CDMA_GENERIC_FAILURE..
Like ive tried everything, any suggestions..besides call sprint
batzluminatti said:
err
i tried this method the only thing i see on the transcript using adb logcat is checksubsidylockpasswrdcomplete<>errorno=RIL_OEM_CDMA_GENERIC_FAILURE..
Like ive tried everything, any suggestions..besides call sprint
Click to expand...
Click to collapse
Do you get anything with adb logcat?
???
asinginglamp said:
How to find the MSL for your Photon Q
chrisngrod posted a tool for getting the MSL from logcat (http://forum.xda-developers.com/showthread.php?p=31765156) but is in the form of a .bat script, which isn't very useful for Mac or Linux users. I'm a decently regular reader, but I guess I've never posted. So sorry that this isn't in the dev section.
I'm assuming a couple things here
You have the android SDK installed, or at least adb available to you
You have a Motorola Photon Q (on Sprint?) plugged into your computer and appropriate drivers installed (if needed--not sure)
USB Debugging is enabled on your device
You know what a terminal is, or at least how to use one
You are in the current directory of adb. If it's in your path, omit the "./"
Make sure your computer sees your phone
Code:
./adb devices
You should see something like
Code:
List of devices attached
T*******Y device
where *'s are numbers. If you don't see any devices, make sure nothing else is interfering (tethering apps on computer, etc)
Now, go to the dialer on your phone, and dial ##DATA#. A menu should pop up, tap on Data Profile, then the three dots at the top right, and finally Edit. Enter 6 random digits, and click Verify.
Now go back to your computer and run this
Code:
./adb logcat -b radio -d | grep "grde"
Hopefully you'll only see one line. If there's more than one, look for one that looks like this
Code:
09-21 21:56:38.837 360 360 E RIL-MOTEXT: NV Read 32, length 6, data length 6, grde - 313934333230
The last set of numbers is what we care about. Your MSL is encoded in the even digits (in counting i.e. 2, 4 ,6 ,8 ..). Mine happened to be hidden in some 3's. So this phone's MSL is 194320.
Test it out by going back to your phone and typing it in.
This worked for me, and I haven't found anywhere else that talked about doing it for the Photon Q, so please correct any incorrect information.
Click to expand...
Click to collapse
The first command works..Recognizes dev, then the logcat command works ONLY when i leave off at the -d. When i do the process i see the RI-MOTEXTem Hook header type 0, requestcode 0x2000016...blah blah blah..how do i write the second part of the comand..?
msl
I ran into that error- OEMRequestunlock thingy.... I tried looking through myself with alogcat, but nothing... at the time I thought I fixed it by downgrading the android OS... then the .bat still didn't work... I figured out that that was because of the path statement not including the location of findstr.exe (grep in this linux example) but now I think that maybe the .bat file didn't work originally because of the path statement and I maybe didn't have to downgrade the OS, but if you're straight up doing it by typing the command into terminal and with grep no less and encountering the problem, then I'll bet it was necessary to downgrade the OS.
So what I'm saying is- you probably have to downgrade the Android OS to one that has the MSL in the ril. Also, it might not be showing up in aLogcat because you'd have to tell it to read the radio log (which is what the -radio switch does)
Hope this helps
I made one phone call to Sprint tech support and simply asked for my MSL, and the lady gave it to me. No questions asked.

vibrate on call connect without root on 4.4 kitkat

after i bought moto g i had to give up on a feature i was used to, phone vibrating on call connect, really useful, not having the phone on the ear until the call is really connected and keeping out the high radiation coming in the connection time (known peek time for radiation)
i had to give up on it because i choose to not root this phone, actually ive been able to do all the stuff i was used to with my last rooted phone, but the vibrate on call connect feature
ive discovered a really easy way to do it, as stated on this app page https://play.google.com/store/apps/details?id=com.robin.huangwei.vibrate250
the following instructions are for this vibrate call app but you can use for any other app that have this feature just recovering the app name on the adb shell command, if you for instance want to use the exdialer vibrate plugin just put com.modoohut.dialer.plugin.connectvibrate instead com.robin.huangwei.vibrate250
hope this would be helpful
1. On your phone go to settings->developer options->toggle on USB debugging. If you cannot even find the developer options in settings menu, you should go to settings->about phone->scroll to the last item "build number" and click on it for more than 10 times and then the hidden item of developer options will be shown.
2. Install the driver of your Android phone, and go to http://dl.google.com/android/android-sdk_r22.2.1-windows.zip to download the Android SDK tools, and extract it on your PC
3. Connect your phone with your PC with USB cable, you might see a dialog asking for confirmation to enable debugging this phone with the PC, select YES
4. On your PC, open a terminal command line shell, like cmd or powershell, execute "adb devices" you can see the connected device listed there.
5. If all of above are OK, just execute the command line below:
adb shell "pm grant com.robin.huangwei.vibrate250 android.permission.READ_LOGS"
We all know that cell phone radiation is very strong when ringing, Vibrate Call makes your phone vibrate when an out-going call is answered or hung up, so you don't need to listen to it before the call get answered. Less radiation, more healthy. And you can set how long it vibrates. This application is tiny, saving your resource and battery!
Thank you. This works! Although i had to jump through some hoops to get adb installed, the app is working now
u r welcome, here the 15 sec adb install http://forum.xda-developers.com/showthread.php?t=2588979
oh boy, you're trying to get this just to avoid a radio wave exposure??? That peak that you're talking about is lasts only a fraction of a second, until a rtg subscriber status is acquired. Also that spike will never go above the SAR rating of the device.....
Also these waves are not proven to be harmful, the most you may get is slight slight temperature rise of the tissue around your ear, where you hold the phone.
You'll be better of to stay 1hr less near your computer in an year, than trying to avoid something that you ain't even sure, that it's harmful.
I got this message
I got following warning massage when I entered your suggested command
WARNING: linker: libvc1dec_sa.ca7.so has text relocations. This is wasting memory and is a security risk. Please fix.
WARNING: linker: libvc1dec_sa.ca7.so has text relocations. This is wasting memory and is a security risk. Please fix.
I have Micromax Unit 2 A106 phone. I successfully done this before with jelly bean 4.2.2. But now its giving me that error. what should I do now?? Please help.
Thanks for sharing.This way still works with lollipop 5.1.1,I use exdialer with vibrate plug in.NO ROOT.
GREAT vibrafix
badday0401 said:
Thanks for sharing.This way still works with lollipop 5.1.1,I use exdialer with vibrate plug in.NO ROOT.
Click to expand...
Click to collapse
hello... Many thanks... I tryed several solution to disable the vibrator on call connexion in my gionee s5.5 (kitkat 4.4) ... with no success... The only one tool which solved this issue is VIBRAFIX. Great...
Just a heads up,this method is also working for Exdialer on a Huawei p10 Nougat device.
It works perfectly as intended!! Thanks!
Try this one ?
Call Vibrator - No Root https://play.google.com/store/apps/details?id=io.github.yutouji0917.callvibrator.noroot.ad

The settings Facebook doesn't want you to see

I was just tooling around in my new Quest 2 and, while my level of technical expertise is sufficient to be dangerous, I don't have any real idea what I'm doing as far as rooting, bootloader mods, etc. However, I seem to have stumbled into the regular Android settings after an app I was trying asked for usage permissions, which it seems Oculus doesn't expect any of its bespoke apps to do.
The Android settings behave oddly, though, but more like there's some kind of watcher app that's preventing access to most of these non-Oculus options. Case-in-point, the app that wants usage access, when I enter the Usage permissions screen and select the app from the menu to be taken to the screen where it displays what the app will do with usage permissions and presents the toggle for it, the screen comes up only briefly before the settings dialogue disappears entirely with an error saying that "System has stopped responding". I'm pretty sure if I were fast enough, I could probably toggle it in time, but I could also try to grant those perms via adb (which I only now remembered I could do and thus haven't done yet).
I also found and enabled the actual Developer Options, not the basic one Oculus gives us if we sign up as a developer organization. I am certain that they have actually been enabled: Even though the "{ } Developer Options" menu item keeps reloading the page that its on, settings that you'd expect to find within now turn up in the settings search dialogue.
One of these options is to enable OEM bootloader unlock. Selecting that options from the search results screen (or any other search result you'd find within Developer Options) however does like before, drops you at the menu page with the "{ } Developer Options" option.
It would be absurd if it were to be as simple as enabling that option to gain access to the bootloader and do whatever, even moreso if it was me that first wrote about it -- but, since I'm under the impression that the settings aren't actually broken so much as they are being suppressed, is there a way to toggle these various developer options, including the OEM bootloader unlock, via adb?
(Another point in favor of suppression rather than breakage, the Oculus refuses to take a screenshot of anything I'm doing with a message stating that the device is forbidden from doing so, although in less nefarious language.)
tl;dr -- how might I go about programatically toggling developer options on the device to find out what happens? More broadly, what's a good place to start being more dangerous vis-à-vis my Android technical expertise? I find its structure in every way baffling and nightmarish.
And then just for kicks, there's some oddities, like how the machine name in adb shell comes back as "hollywood" (which I found a bit Baader–Meinhof-y, since I was watching a bunch of Modern Vintage Gamer vids including his one on the Wii and its "Hollywood"-benamed graphics coprocessor). Also, fastboot oem unlock returns a curious error directing the user to visit https://oculus.com/unlock, which doesn't exist, and as far as the Wayback Machine is concerned, has basically never existed.
This settings menu is (or at least it was) fully accessible on my Quest 1 last time I tried it. There does not seem to be an entry point on Quest 2 though.
I am currently enjoying the "Bugjaeger" app from the play store. That is a good ADB solution for the Quest 2. Have fun.
rickthecabbie said:
I am currently enjoying the "Bugjaeger" app from the play store. That is a good ADB solution for the Quest 2. Have fun.
Click to expand...
Click to collapse
Could you please elaborate? Link to any guides or anything?
dwkindig said:
I was just tooling around in my new Quest 2 and, while my level of technical expertise is sufficient to be dangerous, I don't have any real idea what I'm doing as far as rooting, bootloader mods, etc. However, I seem to have stumbled into the regular Android settings after an app I was trying asked for usage permissions, which it seems Oculus doesn't expect any of its bespoke apps to do.
The Android settings behave oddly, though, but more like there's some kind of watcher app that's preventing access to most of these non-Oculus options. Case-in-point, the app that wants usage access, when I enter the Usage permissions screen and select the app from the menu to be taken to the screen where it displays what the app will do with usage permissions and presents the toggle for it, the screen comes up only briefly before the settings dialogue disappears entirely with an error saying that "System has stopped responding". I'm pretty sure if I were fast enough, I could probably toggle it in time, but I could also try to grant those perms via adb (which I only now remembered I could do and thus haven't done yet).
I also found and enabled the actual Developer Options, not the basic one Oculus gives us if we sign up as a developer organization. I am certain that they have actually been enabled: Even though the "{ } Developer Options" menu item keeps reloading the page that its on, settings that you'd expect to find within now turn up in the settings search dialogue.
One of these options is to enable OEM bootloader unlock. Selecting that options from the search results screen (or any other search result you'd find within Developer Options) however does like before, drops you at the menu page with the "{ } Developer Options" option.
It would be absurd if it were to be as simple as enabling that option to gain access to the bootloader and do whatever, even moreso if it was me that first wrote about it -- but, since I'm under the impression that the settings aren't actually broken so much as they are being suppressed, is there a way to toggle these various developer options, including the OEM bootloader unlock, via adb?
(Another point in favor of suppression rather than breakage, the Oculus refuses to take a screenshot of anything I'm doing with a message stating that the device is forbidden from doing so, although in less nefarious language.)
tl;dr -- how might I go about programatically toggling developer options on the device to find out what happens? More broadly, what's a good place to start being more dangerous vis-à-vis my Android technical expertise? I find its structure in every way baffling and nightmarish.
And then just for kicks, there's some oddities, like how the machine name in adb shell comes back as "hollywood" (which I found a bit Baader–Meinhof-y, since I was watching a bunch of Modern Vintage Gamer vids including his one on the Wii and its "Hollywood"-benamed graphics coprocessor). Also, fastboot oem unlock returns a curious error directing the user to visit https://oculus.com/unlock, which doesn't exist, and as far as the Wayback Machine is concerned, has basically never existed.
Click to expand...
Click to collapse
Would you mind explaining how you got the settings page to open on the Quest 2? I am an OG root dev and just picked up a Quest 2 myself, would love to crack into this.
Oh, dang, yeah, sorry things have been mad hectic and I didn't see these responses. I'll provide a write-up tomorrow, ping me again if I don't reply later cause I'm a forgetful idiot.
dwkindig said:
Oh, dang, yeah, sorry things have been mad hectic and I didn't see these responses. I'll provide a write-up tomorrow, ping me again if I don't reply later cause I'm a forgetful idiot.
Click to expand...
Click to collapse
All good, I actually figured out how to launch the settings page from this command:
adb shell am start -a android.intent.action.VIEW -d com.oculus.tv -e uri com.android.settings/.DevelopmentSettings com.oculus.vrshell/.MainActivity
Everything works in this page, except for launching the Developer settings option. This crashes the app as you mentioned, even though I can see the OEM Unlock option in the settings search bar.
This repo is also very helpful, I am getting told to visit the same non-existent page you were as well when running fastboot oem unlock.
GitHub - QuestEscape/research: Sharing our security research on the Oculus Quest
Sharing our security research on the Oculus Quest. Contribute to QuestEscape/research development by creating an account on GitHub.
github.com
Honestly Annoying said:
All good, I actually figured out how to launch the settings page from this command:
adb shell am start -a android.intent.action.VIEW -d com.oculus.tv -e uri com.android.settings/.DevelopmentSettings com.oculus.vrshell/.MainActivity
Everything works in this page, except for launching the Developer settings option. This crashes the app as you mentioned, even though I can see the OEM Unlock option in the settings search bar.
Click to expand...
Click to collapse
Oh, cool, I spent some time myself looking for a similar command, but I don't know much about the inner workings of Android. Do you know if there's a way to programmatically toggle the OEM Unlock switch?
I'll still post my circuitous method of getting there tonight (US/Central), maybe it will be enlightening in some way. I can't take screenshots or video of the process, cause the security policy configured by Facebook disallows it in those places.
Honestly Annoying said:
This repo is also very helpful, I am getting told to visit the same non-existent page you were as well when running fastboot oem unlock.
GitHub - QuestEscape/research: Sharing our security research on the Oculus Quest
Sharing our security research on the Oculus Quest. Contribute to QuestEscape/research development by creating an account on GitHub.
github.com
Click to expand...
Click to collapse
Okay, things are a bit different since when I first posted -- I can grant packages usage access without crashing back to Android settings (`com.android.settings`). However, I can launch Android settings directly using App Manager (https://muntashirakon.github.io/AppManager/). Still can't screengrab, though, and still can't access the Developer Options, can only search for them. Interestingly, the breadcrumbs in the search results refer to the uppermost level as `null`.
So i connected my Quest 2 to Android studio and used the debug and the log tool to see why the settings app crashes when trying to enter the developer settings. I got the exception and maybe i can paste it in here when i get home. Also i managed to sign out of my Facebook account and remove the oculus system administrator but that made the headset useless. I also created an app for the oculus that search for all the installed packages and when you click on one of them it's trying to launch the package in vr shell and found some interesting things such as a oculus assistant and a battery charging mode setting.
Honestly Annoying said:
This repo is also very helpful, I am getting told to visit the same non-existent page you were as well when running fastboot oem unlock.
GitHub - QuestEscape/research: Sharing our security research on the Oculus Quest
Sharing our security research on the Oculus Quest. Contribute to QuestEscape/research development by creating an account on GitHub.
github.com
Click to expand...
Click to collapse
maybe the page does exist, but you don't have the authority to visit it, so oculus redirect you to somewhere else
maybe its not helpfull, but when you start wireless wifi on the Q via a wired adb host , you can install the app 'remote adb shell' (blue cast icon, pstore) on the quest and connect to localhost. so you have an on device adb shell for pm commands. it has to be this remote app because of lack on adb shell command without magiskmodule (termux crashes to the tv channel). i dont know how the activitys are called in android so maybe you got luck. also are the developer options part of the settings.apk? i think they pulled it out like that so why not making a new settings.apk where the devops are available? on this way there is sure an option to have a lock on the wifi adb too so it doesnt shutdown anytime you reactivate. edit: seems that with the new multitasking feature, its possible to hold up a wifi connection even the hmd was locked, just run the remote shell, connect and dont close it. you can connect via pc too without need to use adb tcpip again. before i setup adb tcpip via ' setprop service.adb.tcp.port 5555 ' again on the remote shell app. i now let it locked, and look how long it can holdup the wifidebug without reactivating via cable.
raeumler said:
maybe its not helpfull, but when you start wireless wifi on the Q via a wired adb host , you can install the app 'remote adb shell' (blue cast icon, pstore) on the quest and connect to localhost. so you have an on device adb shell for pm commands. it has to be this remote app because of lack on adb shell command without magiskmodule (termux crashes to the tv channel). i dont know how the activitys are called in android so maybe you got luck. also are the developer options part of the settings.apk? i think they pulled it out like that so why not making a new settings.apk where the devops are available? on this way there is sure an option to have a lock on the wifi adb too so it doesnt shutdown anytime you reactivate. edit: seems that with the new multitasking feature, its possible to hold up a wifi connection even the hmd was locked, just run the remote shell, connect and dont close it. you can connect via pc too without need to use adb tcpip again. before i setup adb tcpip via ' setprop service.adb.tcp.port 5555 ' again on the remote shell app. i now let it locked, and look how long it can holdup the wifidebug without reactivating via cable.
Click to expand...
Click to collapse
.
if someone knows a working terminal for the quest (the original crashes the keyboard after a while). to replace the remote adb shell app, we could use an adb binary that holds up the wifi with adb shell to localhost (shell commands), while another terminal (local, pc or smartphone) can connect through the adb binary over wifi to localhost/quest-ip (for adb commands). but setting up an adb server (not the service) via adb binary and on-device terminal (even via adb shell) is not possible without root (but the remote adb shell app starts one or does it somelike different without root and on-device). when we know how we could put that logic together in a script or apk then). but anyways:
so its setted up now on my quest for holding up debug over wifi (sideload connection) and have an ondevice shell. it runs minimum 23 hours without needing to activate it via cable (adb device to check connection)
1. download/sideload remote adb shell app
2. connect quest2 to a host via usb
3. open cmd on host: adb tcpip 5555
4. disconnect usb
5. start remote adb shell on the quest and type quest-ip:5555 OR localhost:5555 and click connect
6. type in remote adb shell: setprop service.adb.tcp.port 5555
7. minimze the remote adb shell app and let it run
(8). to disable wifidebug: setprop service.adb.tcp.port -1
now there is no need for reactivating until reboot. if you want to run a command go to -> apps -> unknown sources -> open remote app (as there is no recent button).
you can connect to any adb host via wifi (local, pc, smartphone) even after lock or a matter of time (min 23 hours)
the remote adb shell app:
Remote ADB Shell – Apps bei Google Play
Eine Verbindung mit ADB auf einem anderen Android-Gerät läuft über das Netzwerk
play.google.com
with terminal shortcut app you can make settings-scripts then and run them via iconlist for textureresolution and gpu level or whatever ....
ps: maybe im in the wrong subforum now. should i make a thread?
pps: the app 'autostart and stay' adds an autostart option to the quest, which allows to run a launcher before original launcher comes up. (buggy)
ppps: the app SSH Server can set up a SFTP connection for wireless filetransfers
edit: could be that it just work to the first whyeverdisconnect then the quests tracking is beside and you have to reboot
double
Honestly Annoying said:
All good, I actually figured out how to launch the settings page from this command:
adb shell am start -a android.intent.action.VIEW -d com.oculus.tv -e uri com.android.settings/.DevelopmentSettings com.oculus.vrshell/.MainActivity
Everything works in this page, except for launching the Developer settings option. This crashes the app as you mentioned, even though I can see the OEM Unlock option in the settings search bar.
Click to expand...
Click to collapse
This still works today! I have a Quest 2 running V35, and recently un-linked my Facebook and Oculus accounts. After finally getting my Quest 2 back up (still needed to use the old Oculus apk from an Android device and Quest 1 device selection), the timezone was off, so I used the above adb shell command to access settings, and changed the timezone fine.
I also changed the Device Name, although I'm unsure what ramifications that might cause later.
Edit: Don't change your Oculus account password after doing the FB account bypass. You'll break the log-in session, and have to factory-reset and start over.
you can have more settings when you use SetEdit (Settings Database Editor) from pstore. some props are editable, some need root.

Categories

Resources