yashsingh1/xdaforums huggingface dataset:
[Touch CDMA Android Development] Shidell:
Hey jnadke,

I started testing v2.2 with a few other updates in my Eclair 2.1 port, and it seemed pretty upset. Within a minute or so of starting Nav each time, I hit the "GPS Signal Lost", from which was unrecoverable.

I tried a third time, but upon selecting "Navigate" and seeing the map start to load, my Vogue reset.

I'll test again tonight with v5.0 instead.

If our devices do "lose GPS signal", should they be able to recover on their own, or does it require an exit of Nav and a relaunch of Google Maps?
[Touch CDMA Android Development] dmulligan:
Google Maps has been crashing on me lately. This morning it coincided with when the train I take to work goes through a tunnel. I think it may have yesterday as well. This is when maps was running in the background. Is it possible that it is the gps driver and related to Shidell's issues with Eclair 2.1?
[Touch CDMA Android Development] jnadke:
I haven't tested eclair, so there could be some issues there.

Usually gps receivers have a "mode" flag to indicate which state they're in. Typically this is express as 1-5, with 5 being "Full Navigation Mode", and 1 being "Searching for GPS". There's all sorts of "in-between" modes as well. Unfortunately we pretty much only support mode 1 or 5, and we do that by looking at the timestamp. If one is there, we're in mode 5, if it's not there, we're in mode 1. This is how it always has been, dating back to srwalter's versions.

This mode indicator might be buried in the satellite data message rather than the position data message (it doesn't output position message until it hits mode 4-5).

The problem with the new code, is I decode accuracy directly from the receiver. Now, sometimes in mode 4, gps receivers will output full position data, but set accuracy and other things to 0.0. Google may have changed some API things in eclair that might not like this, and just closes down GPS when it sees 0.0 accuracy with a position.

I tried only setting the HAS_ACCURACY flag if accuracy > 0.0, but that lead to the 'maps/nav doesn't work on first try after reboot' bug.

I probably won't be able to tackle your bug until Monday. Here's what would help until then:

-Find a good example of a libgps I can look at. The best is probably the OpenMoko port:

http://wiki.openmoko.org/wiki/Android

Or try the Android-porting mailing list:

http://groups.google.com/group/andr...=android-porting&q=gps&qt_g=Search+this+group

If I have something that says "this is how android expects GPS to behave", I can change it to make Android not crash. Even an example of somebody else's implementation would help. Until then, it's just a guessing game.

If you want to see if my theory is right, try the zImage2.1 with the Constant 3.0 Accuracy version I posted here:

http://xdaforums.com/showpost.php?p=5471624&postcount=3
[Touch CDMA Android Development] adeyo:
Jnadke, what system do you use??

...i have been away a while -great work jnadke!!! excited to finally have gps on vogue. i have a few questions (i didn't notice answers too while reading).

will this use satellite AND data for better locks?

so i can use the google nav apk now?? (the car view with directions?!)

if you aren't using eclair, what are you using and where is it posted? i am hoping there is a stable version of tattoo with this and other features working. when i left the tattoo resolution seemed to be waaaay better than the others.

i would love your thoughts on what to use so i can finally flash to android and ditch winmo forever!!

THANKS DEV's for all your work.
[Touch CDMA Android Development] jnadke:
Looks like the FreeRunner has a good example of a libgps implementation here:

http://gitorious.org/android-on-fre...5867f565f36cf60d4e0ceb08/gps/gps_freerunner.c

I'll look at gutting the driver and putting our stuff in it. Let me know if you see any others.
[Touch CDMA Android Development] hideffer:
Working great!!!

Outstanding work jnadke!!! Version 5.0 of rootfs.img and zImage is working extremely well using haret. Altitude accuracy is very much improved. Thank you for your expertise.
[Touch CDMA Android Development] jnadke:
This version uses a completely different, more accurate, set of data than the old GPS driver. Google Navigation works perfectly for me. I ran it for 1/2 hour trip and no drop-outs on Donut.

I use Myn's rom (I like simplicity, and it's personally the best Donut far), but any Donut will work (SenseTattoo is Donut). Pretty much everything works with Donut right now, except iPhone 1.0-style location (cell phone tower-based location --- which is my next project).

Shidell indicated problems with Eclair, and I'll try to fix the library issues with him. I may need to make the accuracy a constant value again until I can overhaul the driver.
[Touch CDMA Android Development] jnadke:
I'm not sure if I'll overhaul the driver, it may not do any good. I'll have to wait for Shidell's results (or put Eclair on myself).
[Touch CDMA Android Development] jamezelle:
nbh files 5.0;)

as requested
[Touch CDMA Android Development] nabicat:
Getting 404 on the link Jamezelle. Can you reconfirm? Thanks
[Touch CDMA Android Development] gigermunit:
getting 404 also heh.
[Touch CDMA Android Development] jamezelle:
**** lol

nbh 5.0 lol

i had an apostrophe in the link :p
[Touch CDMA Android Development] gigermunit:
haha, well i can confirm its working now.
[Touch CDMA Android Development] plemen:
nicely - thanks.
[Touch CDMA Android Development] hideffer:
My Google Nav Did Not Like Version 5.0

Post deleted...need more testing in Google Nav tomorrow with version 5.0.
[Touch CDMA Android Development] dmulligan:
How did you load it? RUU claimed that the NBH file was corrupted after it had tried to install it on my phone. The files are also 2x the size of the previous NBH files I've installed.
[Touch CDMA Android Development] jnadke:
I don't know if it's necessary, but you should run 3.42.50 radio anyways for maximum compatibility. That's what all the devs use.

http://forum.ppcgeeks.com/showpost.php?p=389964&postcount=8

It's a radio-only, meaning it doesn't touch the rest of your NAND setup. That's the exact one I used a bunch of months ago.

I can honestly say GPS works perfectly on Donut. I haven't tested stability for extremely long drives, however it does recover fine from a GPS outage.

I sandwiched it between my legs fairly tight, and got a "GPS signal lost", then "Searching for GPS..." on the screen. Took it out and it reacquired and resumed navigating without a hiccup.
[Touch CDMA Android Development] jnadke:
vilord's new NBH's have GPS 5.0 support too (in his no rootfs thread).

Once ROM devs push the rest of the rootfs libs into their systems, everything should be good to go.
[Touch CDMA Android Development] dmulligan:
Would you mind posting or PMing me the 2.2 rootfs link again please. I had to go back to the 2.2 NBH but I still have the 5.0 rootfs.

Thanks!

David
[Touch CDMA Android Development] nabicat:
Updated to rootfs 5 and NBH 5 and results were very good. Maintained GPS lock for duration of trip, bearing was good and speed was remarkably accurate. My altitude was much closer than before (much!), I am now reported to be 30m below sea-level. Seeing as I am around 15m above, that's pretty close.

I really appreciate the work you guys have put in. Fantastic work!
[Touch CDMA Android Development] jnadke:
Lucky for you, looks like I kept the old one in my dropbox:

http://dl.dropbox.com/u/58383/rootfs-libgps2.2-fixed.zip

Keep in mind, this one has the altitude bug. If you go anywhere near sea level, it will report you in outer space. I'm not sure if Google Nav likes this.
[Touch CDMA Android Development] dmulligan:
Which method of flashing the NBH did you use?
[Touch CDMA Android Development] nabicat:
I flashed using the Windows method:

1) rename NBH to RUU_signed.nbh

2) put phone into bootloader mode and plug into USB on PC

2) install using ROMUpdateUtility.exe

I've never managed to get the SD card installation method to work for me.
[Touch CDMA Android Development] dmulligan:
Thats what I tried 2x and it told me the image was corrupted. Perhaps it is the 320x428 image?
[Touch CDMA Android Development] jamezelle:
it says 327(google.com has it at 343) for my altitude in gps so not bad:)
[Touch CDMA Android Development] tatnai:
I'm having problems with GPS. at first I thought it was only occurring after the kernel released 2/2/10, sometimes rolling back to the 1/29/10 nbh seemed to fix it; in the end, I think it is just intermittent.

The problem only occurs with google navigation. Maps works fine, gets a lock, has accuracy, etc. However, I fire up navigation, and more than half the time, after a few seconds of the nice moving arrow it says GPS disconnected, and I get a dot that moves every once in a while, and sometimes the program freezes. The dot still has the accuracy circle, and the grey searching for gps thing is at the bottom. every once in a while it will break out of it and get a lock again, but this is usually shortlived; I usually go back to the dot and "searching . . .". the notification bar sattelite remains locked through all of this. This occurs when I'm driving in clear country, no obstacles, or even when sitting still.

If I exit nagivation back to maps, maps is working just fine with a lock. If I then run navigation again, it usually does the same thing, work for a couple seconds or minutes and then go "searching" again.

i'm using both myns and plemens latest donut roms that have the latest 5.0 gps updates, and have tested the .nbh from the first nomorootfs to the last. I don't know, I still tend to think the first nomorootfs seems better (it really seemed a lot better at first), but it could be my imagination as it seemed to do the same thing the last time I was testing it over a 30min drive yesterday.

is anyone else having this problem? anything I can do to help solve this?
[Touch CDMA Android Development] mfpreach:
I have the same problem. Bell Mobility. Myn's rom.
[Touch CDMA Android Development] tatnai:
running the latest .nbh from 2/4/10, I went to /sdcar/google_maps_nagivation/cache/ and deleted everything in there including some vector tile file. 8 min drive home from work, no disconnects, no gps searching. may be coincidence, will test more today.
[Touch CDMA Android Development] sshark:
100% off-topic. So are you in Canada and are Sprint/SERO. How does that work?
[Touch CDMA Android Development] hideffer:
I have a very similar experience. I have been using Myn's sqsh/sd build. I noticed, when using Google Nav, it seemed to work well with limited testing but I noticed, when using GPS Test, it appears that sqsh was NOT using the latest V5 libgps.so. The sqsh was using an older build where the bearing and altitude does not change at all and stays at zero, gps time was wrong and year was 2030, but Google Nav did like it in my limited testing.

I "upgraded" to the V5 Libgps.so using the jnadke's script and now GPS Test does show heading and altitude but Google Nav, on my Sprint Vogue, does not like it and has the same behavior as you described. I reverted to a libgps.so build that was released after Myn's sqsh but before the final V5 build and it works better for me but I still get an unrecoverable "searching for GPS" warning on occasion. jnadke recommended using the latest bell radio (*50) for best compatibility but I rather not flash it since I am using the latest Sprint radio (*30).

The funny thing is, on my way to work (30 minute drive) on 3 separate days the V5 version worked flawless but on my way home on 3 separate days, it would "lose" satellite lock and display "searching for gps" but the blue dot would sporadically move. Go figure.
[Touch CDMA Android Development] jnadke:
I'm using 3.42.50 on Sprint and haven't noticed any issues, at least in the older ROM system. I haven't used GPS in Myn's latest ROM.

I'm not sure what the "dropped GPS" is about. You could potentially get that from either Google Maps/Nav getting incorrect gps data, or from GPS genuinely being shut off in hardware.

Keep in mind the old libgps won't work at all with any new kernels. There really isn't a whole lot different between the new and old GPS methods, other than using the more accurate values. You shouldn't have issues with one and not the other.
[Touch CDMA Android Development] mfpreach:
I don't think that is the solution as when this dropping problem was occurring it was the first time I ran google nav. Thus, I didn't have a google nav dir.
[Touch CDMA Android Development] jnadke:
When you upgraded to libgps5.0, did you upgrade the kernel (zImage) as well?

New libgps requires a new zImage. Myn's sqsh/oldrootfs build contains neither the right zImage nor the right libgps.
[Touch CDMA Android Development] hideffer:
Yes I upgraded the kernel as well. That was the only way I could get it to work. I use the zImage that you had posted.

I agree to that finding but so far I have not been consistently successful with the V5 libgps as stated in my previous post. I'm going to try to clear out the google nav cache and see how the V5 (January 28th build) and the January 23rd build (the one that fixed the time and year) will work with google nav.
[Touch CDMA Android Development] smarcin:
What about Myn's nomorootfs sqsh and NAND? I think they have libgps5.0 in the kernel, right?
[Touch CDMA Android Development] jnadke:
Hrrm, it appears with the new GPS data I'm using, a full message isn't being output sometimes (I'm only seeing half of it).

I suspect my code is still trying to decode these non-full gps messages and is reading garbage data.

Maps doesn't like this garbage data and shuts GPS off.

Try the attached zImage.

If it doesn't work, go to a console/terminal app and type dmesg. If you get:

Got GPS data, message too small!

Then wait longer for a lock. If it still does it, then upgrade your radio.
[Touch CDMA Android Development] tatnai:
Was coincidence. This does not make a difference.

I'm Canadian from Toronto, but currently living in the US

yeah, ditto. I think the satellite data is coming in fine, but Google navigation is not liking something with the way direction is reported. It is bad enough that I just can't rely on being able to use it. Great when it works, but sucks when it doesn't which is most of the time for me.
[Touch CDMA Android Development] jnadke:
Yeah, the NoMoRootfs version has the latest GPS.

In GPSTest, if your accuracy changes, you're using the latest GPS.
[Touch CDMA Android Development] tatnai:
Would love to test but using nand now. Already using radio 3.42.50.
[Touch CDMA Android Development] jnadke:
I'll wait till hideffer tests it, then push it upstream if it fixes it.

Gotta run.
[Touch CDMA Android Development] tatnai:
Thanks for taking a look jnadke, appreciate it. If no one has tested by tomorrow, I may be able to flash back to win mo and try it out, we'll see. Thanks again.
[Touch CDMA Android Development] jnadke:
You could ask jamezelle, plemen, or vilord to make you a nand from the zImage. I don't have my environment set up for that right now, and don't have the time till Monday.
[Touch CDMA Android Development] tatnai:
link to .nbh (all three resolutions) thanks to jamezelle.

pulled, not functioning. will repost if it gets fixed.
[Touch CDMA Android Development] Reddog80p:
File link is invalid. Just fyi.
[Touch CDMA Android Development] tatnai:
i've pulled the link, I can't boot with the new files. will post them back if it gets fixed.
[Touch CDMA Android Development] manu33xtro:
Hi,

Is it possible to have same nbh but for Polaris ??

Thnaks if it's possible... :)
[Touch CDMA Android Development] tatnai:
right now we are just testing to see if there is a fix for the intermittent gps searching issue. right now I don't have a working .nbh for vogue (the ones previously posted don't boot). if we can get testers with sdcard installs to use the zimage posted one page back, then the changes will get incorporated and posted to sourceforge for everyone to use. no point making multiple versions for now.
[Touch CDMA Android Development] manu33xtro:
Thanks for your answer... I use No-rootfs and can't test your products. Sorry !

I don't know if the zImage (in the sdcard in /andboot folder) may be taken instead of the old in Nand ?

I test it now : may be it works...
[Touch CDMA Android Development] dzo:
Do you have a trace of this happening, it doesn't say "Bad MID" at some point does it? If so, it could be the RPC code. Since GPS is the only thing that receives long messages, it hasn't been tested much and assumes that the A9 only sends 1 RPC message at a time which may not be true.
[Touch CDMA Android Development] jnadke:
Unfortunately I didn't save away my console log.

I may have been looking at the wrong data. I checked the message type flag and it seemed right (reported 1 - position). I didn't double check the device flags. I saw what looked like the traditional lat/lon/time. However, the message was a lot shorter than normal, by about half.

I was having issues getting a lock in Google Maps at the time. Normally I have AGPS, so I suspect that may introduce fewer issues.

I've since yet to reproduce it.
[Touch CDMA Android Development] hideffer:
Just got back from a quick test using the above zImage from yesterday. I am using Myn's donut, using sqsh/haret from the SD card. The rootfs has the V5 libgps. I started GPSTest first next to a window in my house, got satellite lock and accuracy was being reported and updated. I then started Google Nav inside, got lock and programmed a destination. I lost gps when I went to the garage as expected but Google Nav recovered once I started driving. I drove around locally for around 15-20 minutes and the new zImage worked beautifully. After I parked back in the garage, I lost gps again as expected but Google Nav recovered once again when I started walking outside in my neighborhood. This is a preliminary report and I will report back in a few days after additional testing.
[Touch CDMA Android Development] kubino99:
Hi jnadke

is possible to have source code to libgps.so 5 ? I have a kaiser running from NAND and can't get working the GPS. But when I've dumped NMEA sentences from /dev/smd7 it seems I got the fix. I would like to try remake the lib to work with NMEA to be able use GPS on kaiser ;-)

Thanks
[Touch CDMA Android Development] jnadke:
The source code is in the AndroidHTC repository:

http://androidhtc.git.sourceforge.net/git/gitweb-index.cgi

However, dzo did make some changes the other day that should fix GPS for the kaiser (this was before I built the fixed one -- check dzo's folder for the latest zImage):

Linuxtogo Kaiser changes

Try a new zImage. It should work.

There are some improvements that can still be done on the kernel side. Other than any bug fixes, there shouldn't be any changes on the libgps side.
[Touch CDMA Android Development] jnadke:
1. How long does it usually take you before position is reported (after a fresh reboot from the time the GPS satellite icon appears at the tome)?

2. Can you do the following:

Fresh reboot. Fire up Maps. After you get a lock, exit maps so GPS stops. Go to a terminal (Better Terminal or Terminal Emulator in Developer Tools). Type 'dmesg'.

Do you get any "Got gps data, message too small!" messages (I forgot to put a carriage return after them, so they may be buried before some other msm_rpc messages)? You'll probably have to scroll up a few pages, it should be well after the messages of numbers that fill your screen.

I have AGPS, so it takes me 7-10 seconds to get a full, good GPS lock.

For those that don't have AGPS, it'll take a MINIMUM of 2 minutes to get a good quality GPS lock. You probably see your position after 30 to 60 seconds, but a complete lock won't be for a minute or two later. AGPS lets your phone download ephemeris/almanac information from your carrier. Ephemeris/almanac tells the phone where the satellite is, making your position more accurate (and locks quicker). Without AGPS, it has to "download" it from the GPS satellite (the data is just hidden in the GPS signal and repeats every minute).

However, once you've used GPS, the data is generally good for a week (or until you reboot your phone I presume), so you'll get fast locks afterward.
[Touch CDMA Android Development] kubino99:
thanks, but I've already compiled the new kernel with the latest GPS fixes for kaiser and tried the libgps5, seems like there is still something. So I would like to check how it's on the llibgps side.
[Touch CDMA Android Development] hideffer:
It took only 10 seconds to get a gps lock. I do see the network icon arrows downloading data while the satellite dish icon was flashing.

After gps lock in Maps and exiting, dmesg in Better Terminal did not show any message regarding "Got gps data, message too small". I can PM the Terminal output if you like.

Another test today on my way to work showed good performance during the 30 minute drive. I lost gps signal twice but Google Nav promptly recovered within 5 seconds and continued with navigation. The drive home is where I usually lose gps and Google Nav becomes unrecoverable with the old zImage so that would be a more informative test.
[Touch CDMA Android Development] jnadke:
http://android.git.kernel.org/?p=platform/hardware/qcom/gps.git;a=summary

Someone at Android open-sourced Qualcomm's GPS RPC driver.

Edit: Nevermind, looks like some parts are still missing, and our AMSS is different.

I'll still keep this up for future reference.
[Touch CDMA Android Development] kubino99:
yes thanks for te explaining. now I've got the fix with gps test and libgps5, but seems like time and date is parsed wrong way. I had an idea to stop parsing nmea sentences in kernel and do that in libgps, what do you thing about that ? in otherway I can try to make those changes you've suggested and test it on my kaiser. of course I'll sent you the results.
[Touch CDMA Android Development] jnadke:
Time and date will be wrong because utc_time isn't populated in the board-kaiser-gps.c driver right now. Libgps5.0 uses utc_time variable, rather than the time variable.

Whatever time displayed, should be whatever garbage data is in memory. You'll get a different value every time you boot up.

That can be done. I posted a few pages back that the OpenMoko Freerunner had a working NMEA gps implementation:

http://gitorious.org/android-on-fre...5867f565f36cf60d4e0ceb08/gps/gps_freerunner.c

However, note this route isn't new-Kaiser user friendly. Someone would have to push libgps-nmea (or run androidinstall.tar) everytime they install a Vogue distro on Kaiser.
[Touch CDMA Android Development] jnadke:
I'll try to make the changes and post a zImage later tonight. I'll probably have some free time.

Seeing as I already outlined everything, I should be able to make them very quickly.
[Touch CDMA Android Development] jnadke:
Here's a kaiser zImage.

Let me know how it goes. It should work with libgpsv5.

Try it with GPS_Test first. Everything should be supported. In the satellite map, the satellites that are used should light up after a while.
[Touch CDMA Android Development] dzo:
Good work, can you push it to git, if not, just send me a diff.

Thanks
[Touch CDMA Android Development] Dark-Side:
Great work!!!

The satellites light up in the map but the north is always on top of screen (bearing?).

GPS localize me at ~ 200 km to east from my actual position :confused:

speed indicate 4 km/h when i don't move :cool: :D . altitude seems to be good.

A lot of progress... Thanks
[Touch CDMA Android Development] papatel:
This is so cool. How do we get this into nand?
[Touch CDMA Android Development] kubino99:
Cool! you are the man ;-) is it also possible to commit the changes to kernel git ? thank you very much for your effort.