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
When I adb shell from windows command prompt, I get some type of encoding symbols, I think colors or something, making it pretty much unusable. I've used it before and this didn't happen, so perhaps something in the CM version I'm using, or perhaps some windows setting I accidentally changed.
Any help would be appreciated.
I'm using CM11-20150809-UNOFFOCIAL-moto_msm8960_jbbl with mionica's kernel.
I suspect you are correct - if you used a linux command prompt, it would probably be fine...
You could try changing to UTF-8. In cmd:
Check what it's set to currently:
Code:
chcp
Mine is 437. Try changing to 65001
Code:
chcp 65001
Found this info here:
http://www.javawebdevelop.com/2824222/
Hopefully it helps, never had this issue myself before.
arrrghhh said:
You could try changing to UTF-8. In cmd:
Check what it's set to currently:
Code:
chcp
Mine is 437. Try changing to 65001
.
Click to expand...
Click to collapse
Thanks for reply. I was 437, tried 65001, no luck. It did change things very slightly, the backwards arrows now come out as square boxes, but all the rest of the codes still there.
I've also searched for solution myself. One was to open adb shell from a cygwin shell piped thru cat (adb shell | cat) , which kinda works. It hides the color codes, but other things don't work exactly right, like prompt jumps to top of page when I login or su, but without clearing the screen, so it's overwriting existing text, and other weird things not spacing themselves right, etc... also up/down arrows don't respond right in nano text editor.
I used to be able to just adb shell from regular command prompt and everything worked fine, so I suspect the change in behavior is either my cm version, kernel version, or less likely something I changed in windows or phone settings.
I tried ansicon, that made things worse.
I also read something about busybox settings, but I don't have busybox installed so not sure if it's related.
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.
I am trying to make my phone child friendly with no ability to access the internet. Does anyone know how to permanently disable data by editing settings apk or by deleting a permission (the phone has been rooted).
I don't know why so controlling but who am I to say anything anyway, hope you know what you're doing to your child.
Google parental control can do this, but if you want it the hard way then:
You can mess with the APN in cellular data settings, just type random gibberish and you're done. Alternatively you can disable communication with towers by dialing *#*#4636#*#* in dialer and disabling it from there.
If you need WiFi too, then you can do this with root (Again, you can just use google parental control).
Simply remove those lines from build.prop (Backup your ROM first!!):
wifi.interface=
wifi.supplicant_scan_interval=
To permanently disable Wi-Fi you can try
either in Android's system file named build.prop to comment the line
Code:
# wifi.supplicant_scan_interval=xxx
if it exists
or run this ADB command
Code:
adb shell "settings put global WifiOn 0"
Hi, I'd like to know if it's possible (and if so, how) to directly change android settings via adb commands.
My wife has broken the LCD screen on her phone (OnePlus 7T HD1907, Android 11, rooted with Magisk). I'm having a lot of trouble getting screen mirroring and USB OTG input devices to work at the same time; I have a USB v3 hub, and a USB OTG connector, but I've only been able to consistently get either screen mirroring or input devices to work, not both at the same time. The screen on the phone has now completely failed so I can no longer switch back and forth between the two to make changes on the phone. When I did have it working briefly I turned on the "experimental desktop mode on secondary displays" in Developer Settings, which just made things worse because Android settings don't seem to be available in desktop mode.
I have an identical phone to which I can refer, if needed.
Feenix0 said:
Hi, I'd like to know if it's possible (and if so, how) to directly change android settings via adb commands.
My wife has broken the LCD screen on her phone (OnePlus 7T HD1907, Android 11, rooted with Magisk). I'm having a lot of trouble getting screen mirroring and USB OTG input devices to work at the same time; I have a USB v3 hub, and a USB OTG connector, but I've only been able to consistently get either screen mirroring or input devices to work, not both at the same time. The screen on the phone has now completely failed so I can no longer switch back and forth between the two to make changes on the phone. When I did have it working briefly I turned on the "experimental desktop mode on secondary displays" in Developer Settings, which just made things worse because Android settings don't seem to be available in desktop mode.
I have an identical phone to which I can refer, if needed.
Click to expand...
Click to collapse
I don't know if it contains your specific setting, however, many settings can be read/stored/modified using the foillowing commands from a shell/ADB. using
Code:
# read settings, there are three partitions. Secure, System & Global
settings list secure;
settings list system;
settings list global;
# to read a specific one
settings get secure "sleep_timeout";
# to change a setting
settings put secure "sleep_timeout" "-1";
# there's another command for delete, but I cnat remember it for certain, so dont wish to guess and lead you astray ;) and I am sure you know how to do a web search
The above is for a shell, adding adb shell to the front would run it explicitly from adb.
Trying to change system settings requires Android is rooted.
xXx yYy said:
Trying to change system settings requires Android is rooted.
Click to expand...
Click to collapse
It is.
DiamondJohn said:
I don't know if it contains your specific setting, however, many settings can be read/stored/modified using the foillowing commands from a shell/ADB. using
Code:
# read settings, there are three partitions. Secure, System & Global
settings list secure;
settings list system;
settings list global;
# to read a specific one
settings get secure "sleep_timeout";
# to change a setting
settings put secure "sleep_timeout" "-1";
# there's another command for delete, but I cnat remember it for certain, so dont wish to guess and lead you astray ;) and I am sure you know how to do a web search
The above is for a shell, adding adb shell to the front would run it explicitly from adb.
Click to expand...
Click to collapse
Would I simply type "adb shell" to start the shell after connecting to the device? I'm assuming that this would be a linux shell.
xXx yYy said:
Trying to change system settings requires Android is rooted.
Click to expand...
Click to collapse
I am pretty sure that not ALL settings require root to be changed.
Feenix0 said:
It is.
Click to expand...
Click to collapse
Well, that makes it hypothetical in this case
Feenix0 said:
Would I simply type "adb shell" to start the shell after connecting to the device? I'm assuming that this would be a linux shell.
Click to expand...
Click to collapse
There are many ways to do things.
Personally (if not using the app I created and listed below), I start a shell with adb shell and I am running windows, so that is run from a command shell.
At that point, you enter the ANDROID shell (Not linux, its an android device)
I then change to a root shell with su; Only because anything worth doing usually requires root, and at least some of these will.
And then I can run any of the statements above. I would suggest you run a list of each and save that off as a backup.
Another option to see many of these in action and generate a "restore" of the existing, is using the app I created called TeMeFI
You can find these under the menu Current State>Settings>*