Related
I know there is the Service Menu screen, which you can get to when the phone is locked using the secret code found here: http://forum.xda-developers.com/showthread.php?p=7847292, where the digital compass looks like it can be calibrated in the service tests section. Anyone know if this is a permanent calibration affecting all apps installed?
Also, is there a way to get a permanent calibration of the accelerometer? My accelerometer is off by about 4 degrees and apps which use it, including rotating the screen are noticeably affected. Does anyone know of any apps that can make a permanent calibration that will be system wide? Or any other way of calibrating this sensor for all apps?
Silly22 said:
I know there is the Service Menu screen, which you can get to when the phone is locked using the secret code found here: http://forum.xda-developers.com/showthread.php?p=7847292, where the digital compass looks like it can be calibrated in the service tests section. Anyone know if this is a permanent calibration affecting all apps installed?
Also, is there a way to get a permanent calibration of the accelerometer? My accelerometer is off by about 4 degrees and apps which use it, including rotating the screen are noticeably affected. Does anyone know of any apps that can make a permanent calibration that will be system wide? Or any other way of calibrating this sensor for all apps?
Click to expand...
Click to collapse
Yes this would logically be a system wide calibration... If it were not system wide, then by the same logic, it would only calibrate the accelerometer in the Service Menu, which provides absolutely no use whatsoever.
I have no proof either way, but it makes sense to me...
Why not try calibrating your device incorrectly (i.e. upside-down), and see if it's screwed everywhere else as well...
In the service menus, there does not exist a way to calibrate the accelerometer, just a screen for testing and showing the accelerometer values.
On another forum, one specific to Android, I found a link to this article about calibrating the accelerometer sensor permanently: http://smartanuj.com/samsung-galaxy-s-troubleshooting-and-optimizing-guide
However, that guide involves rooting a Samsung Galaxy S specifically, and running a terminal command. I wonder if there is a method for us X10 users that doesn't involve rooting. If not, does anyone know if there is a similar terminal command applicable to rooted X10's?
[Solved] TS FREEZE FIXED / Orientation offset calibration & G-SENSOR CALIBRATION FIX
UPDATE: (13/11) A patch has been developed that completely eliminates TS FREEZE for good.
Thanks to mdebeljuh and jdivic, I tested it and it seems to be working perfectly.
Check post 140 on page 14:
http://forum.xda-developers.com/showpost.php?p=9194473&postcount=140
UPDATE: (20/11)A new patched 8.2 kernel without logging (better for daily use) is available.
Check post 234 on page 24:
http://forum.xda-developers.com/showpost.php?p=9304396&postcount=234
-----
EDIT: If you did autocalibration and messed your g-sensor, read post 10 & 11 to see a fix for it. (before going through post 1)
EDIT 2: Freezes of sensors and touch screen seem to be related to offset values. See post 10 & 11
Post 1 is for orientation offset. Check post 10 & 11 for g-sensor and ts freeze fix.
----
If your orientation is off when you lay your phone on a level surface and can't calibrate it in Android (because many people found it gets corrupted after auto calibration), this is one way to do so. (Winmo g-sensor calibration does not seem to affect android orientation)
Install an app that displays sensor information along with pitch and roll. (such as SensorDebug from Android market)
Put your phone on a level surface such as the floor or a table.
Note your pitch and roll values.
Use rootexplorer or similar file manager to edit /data/misc/AK8973Prms.txt file. (open in text editor) (For ASTRO CHECK POST 70 in page 7)
You will see AOFFSET.x and AOFFSET.y at the bottom. (May be on top if you autocalibrated previously)
y affects pitch and x affects roll, there is about 4 to 1 ratio.
What you are trying to do is make pitch and roll 0 with minimum flicker.
Press and hold home button to switch between rootexplorer and sensordebug. Your changes will be reflected in realtime (with most builds). Go back and forth a few times to get perfect result. (You can press and hold home button to go back and forth) If you think changing values don't have an affect, try to temprorarily change AOFFSET.x=90 and return to your app. When phone is on the table, your leveling bubble or pitch/roll must be way off. This way you can see if with your build changes are reflected in realtime or not. If not try restarting, use different sensor app and give feedback please. (After that revert AOFFSET.x to 0 or other value your want to fix back orientation)
For example:
If pitch is 3 and roll is -1
you may start by
AOFFSET.x=4
AOFFSET.y=-12
Then adjust with 1 increments to get rid of flicker.
It is best to adjust one value at a time.
EDIT: IF YOU WANT TO CALIBRATE Z AXIS, CHECK POST 61 in page 7
Calibrated AOFFSET values for my phone are x=2 y=-9 z=12
You can use gpsstatus or bubble app (to find bubble app search the market for bz.ktk.bubble and enable "show angle" from bubble apps settings.) for visual check of orientation calibration. Because of the protruding camera lens of hd2, there can be 1 degree difference between sideways and normal orientation. (It seems you can adjust in about 0.25 degree increments by each 1 increment of AOFFSET and compansate by lowering AOFFSET=y by 2 that gives 0 degrees in both normal and sideways orientation in bubble app)
- You don't need to reboot for most builds (if there is no affect check post 11)
- You don't need to kill/restart akmd
- You don't even need to close sensor app
- Because of not perfect kernel/build support for sensors, you may see them freeze when you move the phone (TS will also freeze). With evo kernels, just wait a few seconds and it will resume. (With nexus kernels they may freeze until sleep/wakeup) Interestingly the values of AK8973Prms.txt affect shake/move freezes. I wrote about this in post 10 and 11.
IT IS A GOOD IDEA TO BACKUP COMPLETE ANDROID FOLDER BEFOREHAND just in case something goes wrong. Chefs say you shouldn't auto calibrate your g-sensor under Android because with many people it gets messed up. Also good idea to backup your /data/misc/AK8973Prms.txt
You may have trouble accessing data folder with a file manager other than rootexplorer. Your build must be rooted. (most are) It is a good idea to update your su binary inside superuser app settings TWICE. If you change permissions of /data /data/misc folders you may access them even with standart astro file manager. Try chmod 777 /data from terminal emulator.
This procedure is also possible with adb or droidexplorer. But my way of doing is practical and it is in realtime. If your build has different file name, please tell us.
This IS a development thread, please don't tell me to post in generic section or clutter.
This is manual workaround for non-working auto calibration. If auto-calibration works in the future, it may very well fix your freezes.
Values of AK8973Prms.txt file may solve touch screen/sensor freeze problems with your games. Feedbacks are always welcome. We should find out what the other values do exactly. Also check post 10 & 11
Wow, thank you. I will certainly try this when I am sober (tomorrow morning).
I appreciate your taking the time to share this.
Have a good weekend!
Thanks! worked great....
thanks! worked perfectly
haha.. funny, this is the RIGHT way to do it: (credit goes to me )
1) put your phone on the surface and then
2) Gscript to stop gsen.
3) Go to callibration tool and press callibrate..
4) activate Gsensor through Gscript.
thats it and gsensor is fully callibrated to your way. no need to mess with system files.
eeeeeee said:
haha.. funny, this is the RIGHT way to do it: (credit goes to me )
1) put your phone on the surface and then
2) Gscript to stop gsen.
3) Go to callibration tool and press callibrate..
4) activate Gsensor through Gscript.
thats it and gsensor is fully callibrated to your way. no need to mess with system files.
Click to expand...
Click to collapse
Don't you think I already knew that? I wrote this long procedure because calibration tool corrupts calibration and doesn't work with many people. With many builds, chefs write don't calibrate your sensor. You need the gsensor script to be able to stop gsensor (kill akmd) since you didn't share it, people won't be able to do it anyway.
I suggest backing up complete Android folder before attempting to auto calibrate g-sensor within Android. Forum is full of people who calibrated under android and everything is messed up.
memin1857 said:
Don't you think I already knew that? I wrote this long procedure because calibration tool corrupts calibration and doesn't work with many people. With many builds, chefs write don't calibrate your sensor. You need the gsensor script to be able to stop gsensor (kill akmd) since you didn't share it. People won't be able to it anyway.
I suggest backing up complete Android folder before attempting to auto calibrate g-sensor within Android. Forum is full of people who calibrated under android and everything is messed up.
Click to expand...
Click to collapse
gsensor calibration tool causes nothing.. in my way -> t does exactly what you do..
i know that with the evo kernel the gsensor callibration is kinda corrupted, but it still works perfectly when following my orders.
although i would suggest not doing this with gsensor on.
as long as the gsensor is off when calibrating, there is no risk to mess the gsensor up.
although when callibrating with gsensor on messes the whole thing up, you can fix it following my orders again.
although its still nice that you edited the beginning of your tutorial:
memin1857 said:
If your orientation is off when you lay your phone on a level surface and can't calibrate it in Android (because many people found it gets corrupted after auto calibration), this is one way to do so. (Winmo g-sensor calibration does not seem to affect android orientation)
Click to expand...
Click to collapse
eeeeeee said:
gsensor calibration tool causes nothing.. in my way -> t does exactly what you do..
i know that with the evo kernel the gsensor callibration is kinda corrupted, but it still works perfectly when following my orders.
although i would suggest not doing this with gsensor on.
as long as the gsensor is off when calibrating, there is no risk to mess the gsensor up.
although when callibrating with gsensor on messes the whole thing up, you can fix it following my orders again.
Click to expand...
Click to collapse
I have made extensive tests and found out that you are actually doing no proper calibration. You are breaking other things.
- If you disable g-sensor before you open your sensor app (calibration tool) than you get no data from the g-sensor (since you disabled it) and can't calibrate.
- Phone must be very still while you disable g-sensor or the orientation data will get frozen at wrong values. And sensor app must be open beforehand.
If you fail calibration (y axis) will get messed up badly and won't work again. It wil flicker between full up and full down and further calibration attempts will make compass constantly spin.
- Still if you could do it all, nothing changes, offset is still there and calibration is wrong after following your instructions. (Try bubble app or sensor app with real sensitive degree values and you will see)
I searched your posts and saw that you are complaining about touch freezes. Maybe if you don't do auto calibration you may get less freezes?
Also please DO share anything you know. It is not enough to just say -disable g-sensor with gscript- People don't know that script, and if you don't share they can't do it. I saw your thread, you got 0 replies in 20 days, maybe because it doesn't work.
I advise against doing autocalibration. And remember, this is not a pissing contest. We are not doing this for the credit. We should be doing this for helping community. (You should have written nicer, instead of looking like showing off how genious you are and how fool we are. We know some things too.)
My way of doing it is NOT direct calibration. It is providing offset to g-sensor data that many people can do without the risk and can be restored back easily.
Note: I have found out that calibration tool generates a file named AccPrmsF.ini in the same folder with extreme z value. Sometimes a bma_result.txt gets created again with wrong values. Its content is input to AK8973Prms.txt again with extreme z value. If you restore your original AK8973Prms.txt g-sensor starts working properly again. (see post 10 & 11)
eywallah bro
How to restore g-sensor
If you calibrated with android calibration tool and your g-sensor freaked out. Here is how to fix it:
Use rootexplorer to
Delete AccPrmsF.ini and bma_result.txt file in /data/misc (if they exist)
Edit AK8973Prms.txt in /data/misc folder with rootexplorer to these values:
[AK8973]
HDOE_STATUS_SLIDER_OPEN=1
HDOE_STATUS_SLIDER_CLOSE=0
HDOE_SUCTEMP=114
HDAC_SLIDER_OPEN.x=128
HDAC_SLIDER_OPEN.y=135
HDAC_SLIDER_OPEN.z=4
HOFFSET_SLIDER_OPEN.x=250
HOFFSET_SLIDER_OPEN.y=593
HOFFSET_SLIDER_OPEN.z=175
HDAC_SLIDER_CLOSE.x=0
HDAC_SLIDER_CLOSE.y=0
HDAC_SLIDER_CLOSE.z=0
HOFFSET_SLIDER_CLOSE.x=0
HOFFSET_SLIDER_CLOSE.y=0
HOFFSET_SLIDER_CLOSE.z=0
ASENSE.x=256
ASENSE.y=256
ASENSE.z=256
AOFFSET.x=0
AOFFSET.y=0
AOFFSET.z=0
(These values may not solve freezes, check post 11 for different values that may fix freezes)
Some nexus based builds don't have slider open/close lines.
No need to reboot, just save and it should work instantly with most builds. (If it doesn't check post 11) If you delete AK8973Prms.txt or it may get recreated with wrong values (full zeroes) and freak out again. AOFFSET.z=xxx seems to be the culprit of calibrate tools vertical corruption. (Becomes full up or full down like digital when z=veryhigh). Only editing it to zero may solve the problem.
These values may change in time, or between builds. Those were my values, you may try to boot a new version of your android build and rip the file from it and use that instead.
If your g-sensor does not work at all after reboot you may need to restart it. Open terminal emulator and enter these commands:
su
/system/bin/akmd
Now it should be working.
Please tell if it worked for you. By comparing values and working on these values we may as well make g-sensor much better. (Accelerometer doesn't seem to be calibrated) If your build has different file name, please tell us. The instructions in post 10 may not be perfect and I am still working on this and will post if I find anything new. Of course kernel support is also required for getting less flickers, no freezes, proper poll intervall, correct i2c frequency and proper calibration.
EDIT: The values keep changing by itself. Interesting part is I am getting less shake/move freezes (or freezes in only one direction) in sensor apps or games now! I am experimenting with different values and it definitely affects how often freezes happen. I am trying to get the values of what a real calibration would do. Maybe sensor freezes happen when values are out of range. I am sure a proper calibration will get rid of these freezes but since with the current kernels we can't do proper auto calibration, maybe we can do manual one for now. Seems usual x y z accelerometer values are between 10 and -10. When freezes happen they seem to be more than 10 or less than -10. ASENSE values change the range of x y z (minimum working asense is 45 and the more you set the less range x y z has). Also ppp data seem to freeze/restart when sensor freezes happen. If freezes are eliminated even ppp data might work better! Some of the findings might be wrong, of course.
It seems you can update AK8973Prms.txt in realtime with droidexplorer and changes are reflected in realtime when you reopen, switch to the sensor app or sleep/wakeup. This makes testing easier.
It seems I have found non freezing values. Check next post. (Post 11)
Freezes are fixed now.
EVEN IF YOU ARE NOT GETTING TOUCH SCREEN / G-SENSOR FREEZES WITH USUAL USAGE OF YOUR PHONE, INSTALL SENSOR DEBUG, BUBBLE, COMPASS APP OR GAMES AND TRY IF THEY FREEZE WHEN YOU SHAKE/MOVE THE PHONE OR WALK WITH THE PHONE IN YOUR HAND. Bubble app is the most freezing app. To find it ssearch the market for bz.ktk.bubble. Enable "show angle" from bubble apps settings. Game example: Teeter
Make sure it has been at least 2 minutes since Android has booted. (Or it may fool you as it is busy when first home screen appears after boot)
Freezes have been mostly eliminated with newer builds/kernels, but they are not completely gone.
I am no longer getting any freezes in any app now. Not in compass apps, not in games, not in sensor displaying apps, not in calibration tool. I am also not getting freezes while I am walking with the phone.
I am not yet sure how this exactly happened (as I always had freezes in those apps when the phone moved) but currently my android build updates the AK8973Prms.txt file every minute by itself (doesn't change very much, but quite different from the beginning) and the current values have absolutely no freezes.
These values have no more freezes. (since they keep changing it may not last for days) Please try:
[AK8973]
HDOE_STATUS_SLIDER_OPEN=2
HDOE_STATUS_SLIDER_CLOSE=0
HDOE_SUCTEMP=111
HDAC_SLIDER_OPEN.x=4
HDAC_SLIDER_OPEN.y=135
HDAC_SLIDER_OPEN.z=8
HOFFSET_SLIDER_OPEN.x=-849
HOFFSET_SLIDER_OPEN.y=1179
HOFFSET_SLIDER_OPEN.z=-653
HDAC_SLIDER_CLOSE.x=0
HDAC_SLIDER_CLOSE.y=0
HDAC_SLIDER_CLOSE.z=0
HOFFSET_SLIDER_CLOSE.x=0
HOFFSET_SLIDER_CLOSE.y=0
HOFFSET_SLIDER_CLOSE.z=0
ASENSE.x=256
ASENSE.y=256
ASENSE.z=256
AOFFSET.x=0
AOFFSET.y=0
AOFFSET.z=0
Seems
A low HDAC_SLIDER_OPEN.x value
A large negative HOFFSET_SLIDER_OPEN.x value
A high HOFFSET_SLIDER_OPEN.y value
A large negative HOFFSET_SLIDER_OPEN.z value
and along with some other thing I did/happened fixed my freeze problems.
Some nexus based builds don't have slider open/close lines.
Change the AOFFSET.x y and z values to your device to level it on a table. (check post 1)
I am not attaching the file itself to this post because of differences between windows and linux with text files, just to be safe. (Paragraphs get messed up)
Also using the calibration tool with the phone face down gives better results with z axis. (to be able to tap on calibrate, put your phone on the table and make it just go over the edge of the table and tap from underside)
We need some feedback from other people now. Devs are welcome to use this information to open up ways to fix g-sensor in kernel.
I am using mdeejay desire hd 3.4 build. These may be different in other builds. If you find out please share.
Freezes returned after reboot. I am trying to find out how refix again.
I AM ASKING EVERYBODY TO TELL
1) If they have the freezes with their default configuration with bubble/sensor app moving/walking etc.
2) If my values fix the freeezes
3) If their filenames etc is different
4) Please also write your build and kernel type/version/base winmo rom and radio
Example: (copy paste and edit in your post please)
Default configuration have freezes: YES
New values fix freezes: YES
Different files: NO
Build/Kernel: mdeejay desire hd 3.4 / huanyu #21 evo base miri WM6.5 (21916) v19.1 (3.14 base) 2.15.50 radio
This is not over yet, with feedback we might find exact long term fix for everyone.
EDIT: These values work with some people. If they don't work you, experiment with different values. Since the results are reflected in realtime for most builds (no reboot required) it is much easier. Also don't edit the file on windows pc, it may get messed up. Some builds auto update the values when sensor app is reopened/switched to.
IMPORTANT: Try to temprorarily change AOFFSET.x=90 and return to your app. When phone is on the table, your leveling bubble or pitch/roll must be way off. This way you can see if with your build changes are reflected in realtime or not. If not try restarting and give feedback please. (After that revert AOFFSET.x to 0 or other value your want to fix back orientation)
EDIT 2: My sensors seem to be working perfectly since I also calibrated the z-axis. (post 61 on page 7) I need confirmation on this.
wow! thank you very much!
will try and post results soon.
Default configuration have freezes: YES (from time to time, not always)
New values fix freezes: YES. Post 11
Different files: NO
Build/Kernel: hyperdroid 1.6 / michyprima R11
before, using a live wallpaper called shake them all, the phone would insta-freeze on me.
using your values from post 11 (simple copy paste), no more freezes. And i really abused the wallpaper!
If this changes, i'll report here
EDIT: new answers
Post 1 is not for freeze fixes.
The solution is not long term.
I am extensively trying to find out what exactly made the freezes go away.
Because while it worked for many hours. After reboot freezes came back. I will hopefully find out why. Also the reason why the values change every minute is mistery. Contents of the file (values) change after you start or switch to any app that accesses the sensors. After android has booted it won't get updated unless the sensor reading apps are working.
I have been trying with many builds and kernels for theese freezes and they were never gone before. This time it never froze for several testing hours till I rebooted. That must be something.
Fixing the g-sensor after calibration corruption is ok. Adjusting level offset is also ok. But freezes need some more testing.
new answers in my above post.
you said that after the reboot freezes would happen. i change the permissions to read only on the AK8973Prms file, rebooted and no freezes.
crawlingcity said:
before, using a live wallpaper called shake them all, the phone would insta-freeze on me.
using your values from post 11 (simple copy paste), no more freezes. And i really abused the wallpaper!
...
new answers in my above post.
you said that after the reboot freezes would happen. i change the permissions to read only on the AK8973Prms file, rebooted and no freezes.
Click to expand...
Click to collapse
I am glad it worked for you and we are making progress.
I also had tried changing permissions before but after one minute permissions revert back to writable and the files is updated by the system.
just tested again. restored the default file (with the default values) and as soon as the little droids (or homers in my case) start moving - freeze.
Changed again to your values in post 11, changed permissions to read only, rebooted, played with the phone, i even juggled my HD2! No freezes. I think i won't change anything, unless i need to correct the pitch and the roll.
crawlingcity said:
just tested again. restored the default file (with the default values) and as soon as the little droids (or homers in my case) start moving - freeze.
Changed again to your values in post 11, changed permissions to read only, rebooted, played with the phone, i even juggled my HD2! No freezes. I think i won't change anything, unless i need to correct the pitch and the roll.
Click to expand...
Click to collapse
How are you changing the permissions?
I change permissions to readonly with rootexplorer and after I switch to sensordebug or bubble or phone tester app, the file reverts its permissions back to writable and gets updated.
BTW bubble app freezes more frequently than other apps. But when my freezes were gone, even bubble app never froze even when abused.
I'm just using root explorer. Select the file, uncheck the "write" option, close root explorer. Open sensor debug or whatever, check the file, untouched.
crawlingcity said:
I'm just using root explorer. Select the file, uncheck the "write" option, close root explorer. Open sensor debug or whatever, check the file, untouched.
Click to expand...
Click to collapse
I am doing the same but it becomes writable again. Must be because of different sensors.xxx.so file and build or maybe because you are trying with a wallpaper and not an app.
BTW editing the file on windows pc may not work because of paragraphing difference between windows and linux. If this happens, my phone just adds new zero values to the end of the file.
I am dying to reproduce the fix. I will test with some different builds. That constant file updating is killing me.
My ERIS g-sensor has a tendency to get out of whack. What I mean is that if you leave autorotation on with the phone lying flat, the screen will often rotate 90 degrees as if you were holding it in a landscape position. If you download a level app, it will show level surfaces as not level. Any while several gps and level apps allow you to calibrate what level is, they do not affect the autorotation being off.
The g-sensor is easily calibrated on a stock sense rom in the settings menu. But AOSP and CM ROMs do not provide a calibration tool, and calibration is reset with every newly flashed ROM. So, for a long time, I just turned off autorotation.
I did find a fix, adapted from here (http://forum.xda-developers.com/showthread.php?t=803242), but simplified below.
What you need:
A CM or AOSP ROM. I've tested on Condemned Soul's CM7 ROM.
A Root File Manager App with Text Editor capability. I'm using ES File Explorer
GPS Status App or another level or sensor app
1. Open GPS Status App (or other sensor app). Lay the phone on a flat level-ish surface. Observe how far the "bubble" in the center of the compass is offset from "level" or the solid circle in the middle of the compass. You can numerically see what the Pitch (up-down) and Roll (left-right) offset are. When calibrated, these numbers read 0 and the bubble will lie on-center.
2. Press home button, then open your file explorer. Navigate to /data/misc and locate the AK8973Prms.txt file. You may want to make a backup of this file, in case anything goes wrong. Open the file in the text editor. Locate the following:
AOFFSET.x=0
AOFFSET.y=0
3. Adjust these values by increments of 1 (or -1) until the GPS app shows it is level. Here's how: To move level left, change AOFFSET.x=0 to AOFFSET.x=1 then save the file. Long-press home to select the GPS app and check for level. If not level, increase to AOFFSET.x=2, save, and check again. Repeat until roll is level, then modify AOFFSET.y=0 until pitch is level. My final values are x=4 and y=-4. I haven't tweaked the z value (that is vertical level or plumb) but you can calibrate the same way if you have a plumb surface (like a newish house door). I live in an old house - nothing is plumb!
4. Enjoy your calibrated G-Sensor.
In GPS Status, does menu->tools->"calibrate pitch and roll" help any? Maybe it just calibrates for the app itself and not system wide. I keep auto-rotate off most the time so I don't have much experience with the screen switching when it shouldn't.
MongooseHelix said:
In GPS Status, does menu->tools->"calibrate pitch and roll" help any? Maybe it just calibrates for the app itself and not system wide. I keep auto-rotate off most the time so I don't have much experience with the screen switching when it shouldn't.
Click to expand...
Click to collapse
Correct, the app just calibrates itself, not the system. I know, it's only a minor annoyance, but makes me happy...
Sent from my ERIS using XDA App
I wasn't trying to imply that you should turn off auto-rotate, was wanting to describe why I might have sounded like an idiot asking whether that tool did anything system wide lol. I can see it being more than an annoyance so I'm glad you found and shared a way to fix it.
No worries mgh! Lol
Sent from my ERIS using XDA App
Thanks for posting this, klob! There are times when auto-rotate does come in handy, but then there are times when I don't want it on. I'll try this and see if it helps me out.
snortman
Good luck!
Sent from my ERIS using XDA App
help required
klobkelosh said:
My ERIS g-sensor has a tendency to get out of whack. What I mean is that if you leave autorotation on with the phone lying flat, the screen will often rotate 90 degrees as if you were holding it in a landscape position. If you download a level app, it will show level surfaces as not level. Any while several gps and level apps allow you to calibrate what level is, they do not affect the autorotation being off.
The g-sensor is easily calibrated on a stock sense rom in the settings menu. But AOSP and CM ROMs do not provide a calibration tool, and calibration is reset with every newly flashed ROM. So, for a long time, I just turned off autorotation.
I did find a fix, adapted from here (http://forum.xda-developers.com/showthread.php?t=803242), but simplified below.
What you need:
A CM or AOSP ROM. I've tested on Condemned Soul's CM7 ROM.
A Root File Manager App with Text Editor capability. I'm using ES File Explorer
GPS Status App or another level or sensor app
1. Open GPS Status App (or other sensor app). Lay the phone on a flat level-ish surface. Observe how far the "bubble" in the center of the compass is offset from "level" or the solid circle in the middle of the compass. You can numerically see what the Pitch (up-down) and Roll (left-right) offset are. When calibrated, these numbers read 0 and the bubble will lie on-center.
2. Press home button, then open your file explorer. Navigate to /data/misc and locate the AK8973Prms.txt file. You may want to make a backup of this file, in case anything goes wrong. Open the file in the text editor. Locate the following:
AOFFSET.x=0
AOFFSET.y=0
3. Adjust these values by increments of 1 (or -1) until the GPS app shows it is level. Here's how: To move level left, change AOFFSET.x=0 to AOFFSET.x=1 then save the file. Long-press home to select the GPS app and check for level. If not level, increase to AOFFSET.x=2, save, and check again. Repeat until roll is level, then modify AOFFSET.y=0 until pitch is level. My final values are x=4 and y=-4. I haven't tweaked the z value (that is vertical level or plumb) but you can calibrate the same way if you have a plumb surface (like a newish house door). I live in an old house - nothing is plumb!
4. Enjoy your calibrated G-Sensor.
Click to expand...
Click to collapse
I am using micromax canvas nitro. My auto rotation stopped working the first time i installed twrp recovery. After making a backup and restoring the same rom my auto rotation started working. But now its not working in any condition. The file you listed AK8973Prms.txt cannot be found in the above directory...please help
surajsahijwani said:
I am using micromax canvas nitro. My auto rotation stopped working the first time i installed twrp recovery. After making a backup and restoring the same rom my auto rotation started working. But now its not working in any condition. The file you listed AK8973Prms.txt cannot be found in the above directory...please help
Click to expand...
Click to collapse
As far as I can tell, this fix only worked on early htc phones up to gingerbread. I was never able to duplicate this on ICS or later on other phones. Sorry, and good luck.
When you run the clinometer, it immediately shows a deviation of 4 degrees.
Tell me, is it possible to adjust g-sensor on G-Tablet?
Thanks.
Some apps have a calibration feature in their settings (a nice feature), and some apps calibrate when you start them (an annoying feature because if you hold the tablet crooked when you launch an app it screws up that app's calibration).
So I'm using the CM11 4.4 Kitkat on my Galaxy S4 and recently found out that my proximity sensor isn't working (when I dial the screen goes black and won't turn on until the call is over). I've read many threads about fixing it but I think it's broken. So all I want now is to disable it but there isn't such option in the Cyanogenmod. Is there anyway to disable it, like with a terminal or something?
bump
bump!
with root explorer go to system/lib/hw and go all the way to the bottom to the last sensors file. its an so file. long press on it and open in text editor. somewhere in the page almost at the bottom you will see where it says ProximitySensor then on one of those line it should say mEnabled. just rename it to mDisabled, then reboot and the proximity sensor is fixed.
qman66 said:
with root explorer go to system/lib/hw and go all the way to the bottom to the last sensors file. its an so file. long press on it and open in text editor. somewhere in the page almost at the bottom you will see where it says ProximitySensor then on one of those line it should say mEnabled. just rename it to mDisabled, then reboot and the proximity sensor is fixed.
Click to expand...
Click to collapse
I know this is an old thread but qman66 you are AWESOME! Was going nuts trying to fix the proximity sensor problem. Ran the commands in terminal emulator that recalibrates the sensor, didn't work for me. Blasted the speaker with compressed air, also didn't work for me. But this method allowed me to disable the proximity sensor while still using an AOSP rom. I will send the phone in for warranty eventually, but I thought I was going to have to use a touchwiz rom until then (touchwiz has the option of disabling the proximity sensor in the call menu).
And I read like 5 or 6 different threads dealing with the Galaxy S4 proximity sensor issue and no one else posted this method before.
kg2128 said:
I know this is an old thread but qman66 you are AWESOME! Was going nuts trying to fix the proximity sensor problem. Ran the commands in terminal emulator that recalibrates the sensor, didn't work for me. Blasted the speaker with compressed air, also didn't work for me. But this method allowed me to disable the proximity sensor while still using an AOSP rom. I will send the phone in for warranty eventually, but I thought I was going to have to use a touchwiz rom until then (touchwiz has the option of disabling the proximity sensor in the call menu).
And I read like 5 or 6 different threads dealing with the Galaxy S4 proximity sensor issue and no one else posted this method before.
Click to expand...
Click to collapse
glad someone found this useful.
While this fixed the call locking problem, it also disables a lot of other hardware sensors. The only one I'd care about is the gyroscope for rotating the camera and watching videos full screen. Any solutions?
sjschoo said:
While this fixed the call locking problem, it also disables a lot of other hardware sensors. The only one I'd care about is the gyroscope for rotating the camera and watching videos full screen. Any solutions?
Click to expand...
Click to collapse
Yeah I noticed that, the best solution is to get the proximity sensor fixed in the end. Then you don't have to disable anything. If your lucky it doesn't even need to be replaced, just cleaned. For me I can live with no rotation, because the screen off during calls is a ridiculous PITA by comparison. Also apps can force landscape mode even with the gyroscope not working. I use force landscape for videos through mx player, and mango reader for manga.
I finally broke down and took the phone apart. There were no warranty stickers to break so assuming you don't mess up royally, it shouldn't effect your resale value. All it took was an eye glass screw driver and a q-tip. Once I was inside I tried the can of air first, but didn't help. Swabbed the back of the glass with the q-tip and that finally provided lasting relief.
i9100 proximity sensor doesn't work
Hi to all!
I have the issue with proximity sensor and didn't manage to find a solution in other similar threads!
The matter is that it is always stay as Released.
In the same time in test screen (*#0*#) there are changing reading for PROXIMITY parameter from 2 up to 240 with no ADC parameter at all. Please look for screenshots. PROXIMITY parameter changes its value when I move my finger in front of the sensor, but as I can understand Android doesn't recognize it because of ADC absence.
Moreover I tried to change proximity sensor for working one (from another phone), but it shows the same as mine (with no ADC readings).
After all I think it is software problem, but I don't know how to solve it. I flashed different firmwares (now it is XWMSE NeatROM v.6.4), but nothing helped.
Please assist! Thanks!
khudko83 said:
Hi to all!
I have the issue with proximity sensor and didn't manage to find a solution in other similar threads!
The matter is that it is always stay as Released.
In the same time in test screen (*#0*#) there are changing reading for PROXIMITY parameter from 2 up to 240 with no ADC parameter at all. Please look for screenshots. PROXIMITY parameter changes its value when I move my finger in front of the sensor, but as I can understand Android doesn't recognize it because of ADC absence.
Moreover I tried to change proximity sensor for working one (from another phone), but it shows the same as mine (with no ADC readings).
After all I think it is software problem, but I don't know how to solve it. I flashed different firmwares (now it is XWMSE NeatROM v.6.4), but nothing helped.
Please assist! Thanks!
Click to expand...
Click to collapse
Changing the rom isn't going to do anything, even factory roms (I've tried it). If a replacement sensor doesn't fix it for you, then it's going to be hard to fix it yourself. All the posts I've seen so far have cleaned the sensor or replaced the sensor and fixed the problem. Otherwise people like me just turn the sensor off.
You were right, proximity software fix didn't help! But how is it possible to work in this (the same wrong) way with changed sensor? Can it be some main board hardware problem? But it doesn't look like this...
Sent from my GT-I9500 using XDA Premium 4 mobile app
Maybe somebody knows how to fix the issue???
Finally fixed
Thanks so much qman66 I have had problems with my proximity sensor on my JFLTEXX pretty much since I got it. Had been using the xposed disable proximity sensor module but xposed doesn't work with CM12. Your simple system tweak has given me use of my phone know call options again
qman66 said:
with root explorer go to system/lib/hw and go all the way to the bottom to the last sensors file. its an so file. long press on it and open in text editor. somewhere in the page almost at the bottom you will see where it says ProximitySensor then on one of those line it should say mEnabled. just rename it to mDisabled, then reboot and the proximity sensor is fixed.
Click to expand...
Click to collapse
Hi, I tied to do this but it says I can't save the changed so file... Can you let me know which root explorer and text editor you are using?
Thanks massively
Not a text file
qman66 said:
with root explorer go to system/lib/hw and go all the way to the bottom to the last sensors file. its an so file. long press on it and open in text editor. somewhere in the page almost at the bottom you will see where it says ProximitySensor then on one of those line it should say mEnabled. just rename it to mDisabled, then reboot and the proximity sensor is fixed.
Click to expand...
Click to collapse
I found sensors.msm8960.so with many references to proximity sensor but it is not a text file!!
Samsung S4 Active w LOS 15.1 (a&Droid 8.1) - how to disable HW sensor(s).
Hi All
Hope some here will help me stay afloat long enough to learn to surf by myself; bit of a noob in this wild ocean here (more of a 'fresh water/indoor pool' kinda dude I guess) - but trying to break out of tis little pond and learn to 'surf'. Anyway, to the point:
1. HW spec
Samsung Galaxy S4 Active
GT - i9295
TWRP 3.3.0-0
Lineage 15.1 20180227 jactivelte
(sometimes with opengapps pico and addonsu15.1 but mostly just LOS and addonsu nothing else)
2. Have the sensors on phone covered up with black electrical tape - all but the notification light are covered and it's gonna stay that way - NOT negotiable!
Obvious Issue: Have the blank screen during phone call problem. Can end calls using power button but I need to use the keypad quite often so need the screen to stay on. How? Ideally want to (SW) disable most if not all hardware sensors - how?
Tried a few fixes but no luck, e.g.:
(a) adding 'the' fix/control many sensors apk no good as not suported under 8.1 (plus want to find out how to do manually myself not use 'hand outs').
(b) edit selected sensor etc ".so" (eg in system hw) files - so far not resulting in the disabled ProximitySensor.
So, I really want to hack this myself at cmd line level, am ok with that (many years IT ops/admin experience in 'fresh water commercial space'). Can mount system using TWRP then adb shell to connect and find and grep for stuff in files but cannot find setttings I need to change to disable sensors for good. Where to look/find more info?
What do I want to achive:
Make calls and have keypad stay on all the time or give me manual option to turn screen on/off with a hw button during call.
How:
I am happy to disable pretty much all sensors (proximity, gyro, compass etc) in system or firmware memory so that I am free from the overlords and really want to be able to use the keypad during calls - and have option to manually turn screen off/on during call would be cool.
Constraint:
Really want to do this from (a) cmd line or (b) edit code/recompile (learning curve) the LOS 15.1 or whatever to disable sensors for good. I will be using this old thing mostly for just call and txt not much else - and cannot be asked to buy an old Nokia handset.
Thanks,
iHAL8999.999... (hi dave...)