[Q] Compass Sensor Accuracy - One (M7) Q&A, Help & Troubleshooting

Hi all,
I've had a search and there seem to be quite a few questions about the compass. How accurate is it on the HTC One? I tried geocaching recently and found that mine varied quite a bit, depending which way round I held the phone. I've done a test, calibrating the phone, then moving it to different positions, turning it round 360 degrees. As I turn it, the pointer for north moves, varying as far as 30 degrees.
Is this normal, or is it a fault? My wife's Xperia SP seems far more accurate. If it makes any difference, I've rooted the phone, but no custom rom or kernel. I'm on 4.2.2.

Related

[Q] How to disable compass?

I'm increasingly convinced that the compass may be at least partly to blame for poor gps tracking. I'd like to experiment with disabling and/or tweaking the compass but don’t know where to start fiddling with compass settings.
Suggestions?
Sent from my GT-I9000 using XDA App
There has been some work on what causes the gps problems with captivate, notably by developers CLShortFuse and Da_G. Some of the discussions are quite technical. I don't recall the compass being implicated, however. If you are interested in pursuing gps info, search out threads by the above two developers. For starters, try this one.
I know this is an old thread, but I think there is something to it...
@creepyncrawly: I came to the same conclusion last night. The Captivate gets brilliant SNo while sitting on my desk. If I turn it while still on the desk, I lose all satellite locks. I think that is what introduces the error.
Open up GPS Test and watch the compass output. It's all over the place, while for me at least, the lat/long stay pretty steady. For example, completely still it wobbles, a lot. When I rotate the phone, the bearing wildly fluctuates. Turning it 180 degrees doesn't give a 180 degree shift in bearing either.
I think the phone is being mislead into thinking its moving by either the accelerometers or the compass. I think my next test will be a good strong magnet in close proximity while the phone is stationary.
I tried killing the compass daemon, but it comes back. I've tried removing it from the init script, but it must be a protected file. Next trick will be to just delete the binary I think.
My second idea is decreasing the port speed of the GPS module, not sure that would do anything constructive though.

[Q] Compass pointing at right direction, but jumping some degrees

Maybe you can help me diagnosing this. My compass is calibrated, so it points to the north correctly, but it is not steady, it jumps around 20 degrees (10+, 10-). Already tried 8 pattern calibration and the ms3c_yamaha.cfg deletion, but it still jumping. There's nothing around to mess with magnetometer, it works like this even if I am in the middle of a grass field.
A video of my SGS running some compass applications:
http://www.youtube.com/watch?v=I8urdsB4V_w
How is your compass? It stays pointing north, solid as a rock, or it jumps a little, like mine?
Thanks
Probably you need calibration or recalibration...
Regards
nice design on the compass app
what modem do you use, maybe it's related (probably not^^) I'll try my compass later outside, I'm currently surrounded by computers and walls so It wouldn't be tooo accurate if I tested now I would imagine.
I will edit my feedback into this post^^
EDIT:
also jumps
Mine is working perfect
I have the same issue.
I noticed also that if I tilt the phone from a horizontal position, tilting the upper side (with the cameras and plugs) to the up or down, it changes the angle drastically.
The GPS is quite bad also.
benoitb85 said:
I have the same issue.
I noticed also that if I tilt the phone from a horizontal position, tilting the upper side (with the cameras and plugs) to the up or down, it changes the angle drastically.
The GPS is quite bad also.
Click to expand...
Click to collapse
Tilting does'nt affect the angle in my SGS...
Its possible that you're using it somewhere that is causing angle deviations. Like near metals, magnetic field etc
Gps is quite Good. It gets locked within 2-5 sec without any wifi/network assistance. Don't know why some people have issues with their GPS in SGS.. :-\
miro666 said:
Probably you need calibration or recalibration...
Regards
Click to expand...
Click to collapse
How do you calibrate?
Sent from my GT-I9000 using XDA App
miro666 said:
Probably you need calibration or recalibration...
Regards
Click to expand...
Click to collapse
Is there another way to recalibrate, a hard way, maybe? Moving the phone in the eight pattern seems to calibrate, because it points to the magnetic north, but it's not steady, as I mentioned before.
theduckking said:
nice design on the compass app
what modem do you use, maybe it's related (probably not^^) I'll try my compass later outside, I'm currently surrounded by computers and walls so It wouldn't be tooo accurate if I tested now I would imagine.
I will edit my feedback into this post^^
EDIT:
also jumps
Click to expand...
Click to collapse
Probably not. Until now, 5 different modems: JPA, JPE, JPX, JPY and JPG.
After some research, the only way to fix a faulty compass seems to put the south pole of a strong magnet in the north pole of the compass, then repeat vice-versa. I don't think I wanna do that. I hate to send my phones to be fixed, but I'm running out of options.

GPS remarkable observation

Guys,
I spent 2 weeks of holidays (my wife almost left me for that) mostly trying to find out why GPS performance on my P970 is so poor, losing satellites fixes every so often and sometimes no fix at all although 'seeing' satellites. I did not find a 'real' solution, even after tests on both mostly Huexxx 7 and lately boype's 0909, too.
Best results now on boype's 0909 CM7 but with adapted gps.conf and gps_brcm_conf.xml. Nevertheless, the result is still disappointing, far away from satisfying.
However, during all these checks, I found that satellite's receiption is depending on the way I hold the device in my hands, at least on MY device. Whenever I hold a finger on the top left of the chassis (just above the location where the GPS chip is located, see pictures), then receiption improves by 0 up to 14 db (!!!).
Also the number of 'seen' and 'used' birds increases from 6 to 10 easily!!! However, the fix did not become more stable through that.
Pls check on your devices if you can verify the same behaviour.
If so, what could be the reason (i do not put any pressure on the device)? And is there anything that we can do to make this improvement permanent, i.e. put a piece of 'aluminium foil' between the back lid and the device or something similiar?
Let me know your remarks, guys.
No problem at all. Riding on the tram right now. Fix on 12 in few seconds. Sure it's not because of your position? And 6 is enough to fix the position.
@eighty-four
I appreciate your info, and you are surely right it is depending on my position. My question was a different one though: Do you observe the same reaction as soon as you put the finger on top of the device; i.e. increase of signal strength?
BTW You attached an impressive picture, would like to aks you are you still on AOKP beta 1.1 ICS 4.0.4 and how do your files gps.conf and gps_brcm_conf.xml look like? Can you share them?
AOKP 1.1, no any GPS fixes
Hard to say about reaction while on move. But didn't noticed any noticeable changes.
Can't check now - I'm in home.
I've been using Marvel v9 since released, with the GPS "Tweaks" installed too.
I'm getting GPS signal, sometimes really fast, some others i need to wait for a couple of minutes (maximum 3 minutes).
There are certain times though, that it doesnt lock no matter what, just like in your situation. It manages to find many sattelites (7+) with an average decent signal strength but it refuses to get a gps fix location.
I believe it has to do with the temperature of the chip (i couldnt get easy GPS fix at winter) because now that summer passed by and used my GPS a lot, i had no issues... might be the clouds, might be the stars alignment and zodiacs ... i really dont know.
It's not that accurate and fast though for city driving. Some turns are being announced way too late (Sygic Aura) and the error treshold is about 10meters mostly, rarely goes down at 5meters.
I guess it's a chip manufacturing bull**** rather than a "case construction" or antenna problem.
@morx
I just wanted to check if others can verify better receiption when holding finger on top.
I agree it seems a hw or engineering defect, nevertheless I am trying to optimize the settings in order to compaensate at least partially.
Interesting you mention the temperature: In my research I came across a relationship between temperature and gps accuracy. Our (and any other gps chip) uses a oscillator hw module for precision timing. These oscillators' accuracies depend on the temperature and are measuered in PPM. There is also a setting in the gps_brcm_conf.xml that refers to this, it is "FrqPlan". The usual value in CM7 is "FRQ_PLAN_26MHZ_2PPM_26MHZ_300PPB". However, other values do also work, like "FRQ_PLAN_26MHZ_2PPM_26MHZ_100PPB".
You can check details in THIS post.
Would be interesting to determine if different values lead to better results.
I had no clue that chip temperature had a side effect on GPS fix !!
When i was writing my concern about that, i was feeling stupid until i saw your redirection to that post...
hmmm there are many factors which can be put on the table about optimization and troubleshooting.
Later on, i'll give a try keeping the cellphone with both hands, different angles, one handed on top/bottom etc...
Interesting thoughts.
I'm on CM10 nightly and always had blazing fast fixes until yesterday. I activated GPS in my car and after 3 minutes it fixed (in Osmand), after some more minutes the fix got currently lost.
Due to my big custom 3500 mAh battery I couldn't place my phone in the cradle therefore I simply laid it onto my dashboard. Maybe because of this the signals were harder to receive.
I will switch back to the normal battery today and try to test your variant.
Sent from my LG-P970 using xda app-developers app

Compass calibration problem

the compass on my Z3c is constantly 10-15 degrees off. I've calibrated it through the service menu and also through the compass app I use and it gets it to within a few degrees of true, then a day later it's all out of whack again. I use the 4-flips calibration method (flip phone 4 times on each axis). I've also tried the figure-of-eight method but found it's less reliable.
Does anyone else have a problem with compass calibration?
Yes, I've had that problem on all my phones (Nexus One, Galaxy S2, Nexus 5, and now Z3c), I guess these are just not reliable.
Yes, I also have that problem on my Z3C.
Especially when in a car the compass seems way off.
It's just started for me, odd that it's taken about two years to become a problem.

Compass issues

I picked up the nexus 6 from AT&T a couple days ago and love it but I have one issue. The compass is off by 90 to 180 degrees. If I spin it around enough it usually calibrated itself but only lasts until the next time I start maps.
I've seen a couple of comments indicating similar issues but I'm not sure if it is a hardware issue and should be replaced.
Does the compass work correctly for everyone else?
Sent from my Nexus 6 using Tapatalk
Same issue here
I have the same issue with my Nexus 6 64Gb blue, bought in Germany from Amazon.de.
Calibration helps but it decalibrates soon, and then the compass is off by 90° or 180°.
DontHaveACLue said:
I picked up the nexus 6 from AT&T a couple days ago and love it but I have one issue. The compass is off by 90 to 180 degrees. If I spin it around enough it usually calibrated itself but only lasts until the next time I start maps.
I've seen a couple of comments indicating similar issues but I'm not sure if it is a hardware issue and should be replaced.
Does the compass work correctly for everyone else?
Click to expand...
Click to collapse
That would NOT be a hardware issue. That is entirely software.
doitright said:
That would NOT be a hardware issue. That is entirely software.
Click to expand...
Click to collapse
Why are you so sure it's a software issue if the sensor loses calibration no matter what?
max.shirshin said:
Why are you so sure it's a software issue if the sensor loses calibration no matter what?
Click to expand...
Click to collapse
heres one way to calibrate a compass in android.. https://www.youtube.com/watch?v=AzQSsUsOWJc
simms22 said:
heres one way to calibrate a compass in android..
Click to expand...
Click to collapse
Exactly, except that in case of Nexus 6 the calibration only helps for about half an hour. It corrects the compass sensor and it starts behaving as it should, only to start showing random direction when you open Google Maps the next time. I've been testing it for several days, both inside and outside, in different places, running calibration several times a day. In no less than a couple of hours (usually even faster) it goes nuts again.
If you own a Nexus 6 as well, and do NOT have this issue, please let us know where you bought the device and which exact model it was (white or blue? memory size?)
Thank you very much in advance!
ingdir said:
Exactly, except that in case of Nexus 6 the calibration only helps for about half an hour. It corrects the compass sensor and it starts behaving as it should, only to start showing random direction when you open Google Maps the next time. I've been testing it for several days, both inside and outside, in different places, running calibration several times a day. In no less than a couple of hours (usually even faster) it goes nuts again.
If you own a Nexus 6 as well, and do NOT have this issue, please let us know where you bought the device and which exact model it was (white or blue? memory size?)
Thank you very much in advance!
Click to expand...
Click to collapse
bought mine through tmobile. black(blue) 32gb version
max.shirshin said:
Why are you so sure it's a software issue if the sensor loses calibration no matter what?
Click to expand...
Click to collapse
Calibration *IS* a software function. You feed corrections into the compass driver to compensate for the magnetic fields generated by the phone itself. If it is losing calibration, it CAN ONLY be a software issue. The data generated by the compass HARDWARE is not affected by calibration. The calibration adjustments are applied to values after they have been received from the hardware by the driver, and before being passed on to userland.
---------- Post added at 08:02 PM ---------- Previous post was at 07:50 PM ----------
ingdir said:
Exactly, except that in case of Nexus 6 the calibration only helps for about half an hour. It corrects the compass sensor and it starts behaving as it should, only to start showing random direction when you open Google Maps the next time. I've been testing it for several days, both inside and outside, in different places, running calibration several times a day. In no less than a couple of hours (usually even faster) it goes nuts again.
Click to expand...
Click to collapse
Are you totally certain that this is a function of losing calibration and not of needing a NEW calibration? The problem is that a compass reads magnetic fields. Nearly EVERYTHING generates magnetic fields, ABSOLUTELY EVERYTHING that uses electricity will generate magnetic fields. Everything with IRON in it will generate magnetic fields, typically in line with earth's magnetic field so it won't interfere (much), but if that thing with iron in it is MOVED, it will DEFINITELY interfere for quite a long time until it resets.
What the calibration does, is it tries to sort out all the competing magnetic fields in order to lock in to the true earth magnetic field. If you keep switching the compass on at different locations, then absolutely YES, it will spit out various incorrect values. In fact, if you go get yourself a regular old fashioned magnetic compass (with a needle on a pin in an oil bath) and you move it around, it WILL react to all the different things that produce a magnetic field.
Maybe try going into a forest, calibrating it, sitting around for a few hours (maybe a camp fire?), and then checking if it keeps its calibration.
doitright said:
Calibration *IS* a software function. You feed corrections into the compass driver to compensate for the magnetic fields generated by the phone itself. If it is losing calibration, it CAN ONLY be a software issue.
Are you totally certain that this is a function of losing calibration and not of needing a NEW calibration?
Click to expand...
Click to collapse
No, I'm not. Well, here are some possibilities to consider:
1. External magnetic fields affecting the phone in a way the compass goes nuts.
Before Nexus 6, I had Nexus 5 for 1 year and its compass worked perfectly in the same locations where Nexus 6 compass fails: same apartment, same office, same places around the city. Moreover, I don't even remember calibrating my Nexus 5, the compass just worked. Now I have Moto G as a temporary phone as I've sent my N6 back to Amazon, and Moto G compass works excellently as well -- again, no calibration required. So we have at least two devices with compasses working fine in the same environment.
2. Software bug that causes calibration data to be dropped.
I had the compass problem both on stock Lollipop and on CM. I also have a friend who did NOT have any compass issues while running exactly the same setup (first stock, then the same builds of CM) on the same Nexus 6 model. In Android, apps typically can't work with drivers on such a low level that could affect the calibration, and I don't run any special apps (except Google Maps) that do something with the compass. So it CAN be a software bug, but then it has to be very picky. Running a phone on pure CM without Google Maps for several days could be a good test as Maps is the only app that had something to do with a compass on my phone.
3. Some magnetic interference inside the device itself, or the sensor being too sensitive and/or having a hardware problem of its own.
This one seems the most likely to me, as it fits a pattern: the problem happens consistently on one device while never happening on other devices with identical configuration, several users have this problem (there are threads on reddit and other places, too) while the majority seems to be unaffected, and other devices with a compass work just fine in same locations.
Anyway, there obviously ARE devices around which can have a compass working just fine, and be it either a software or a hardware issue with Nexus 6, it's good if more people report a similar issue (or a lack thereof).
I have the same issue. I have calibrated from home and on the road in several states. I does not hold calibration.
I'm road warrior, and this is a real problem when traveling.
Sent from my Nexus 6 using XDA Free mobile app

Categories

Resources