[Useful Tip] As a GPS-Camera - Advantage X7500, MDA Ameo Upgrading

I have read the article about Gps based camera with Athena.
No software for it.. It was so sad..
But, I finally found a good tip to use gps based camera.
I will let you know how I use it.
You need two programs.
1. Schap's advanced configuration tool for ppc - change setting ppc
2. Opanda IExif 2.3 for PC - read photo information
How I use~~
1. Install advanced config. tool in main memory of X7500
2. Change setting of camera
Gps Photo : Disable -> Enable
3. Soft reset
4. Change camera mode to gps-camera.. athena will try to get the gps signal for a while.
5. after connected, take a photo. - the photo might get gps information.
6. copy the photo to the PC
7. install Opanda IExif (freeware)
8. run the program.
9. open the photo file which you want to check.
10. click gps tab. or you can find gps section in exif tab.
11. click right mouse button and choose 'Locate Spot on Map by GPS'
12. program will open brower with google map.
13. finally you can know where the photo taken.
- I cannot find the program which can read exif information on pocketpc.
- If it is, very helpful.
- I'm not a programmer so I cannot make what I want.
- I attatched the ppc program and my original picture(GPS_007.jpg) and the google map position..
- Plz, download PC program here.. http://www.opanda.com/en/download/IExif_2.3_en.exe
I hope it will help you to use athena a lot..
Thanks..
From vaint [South Korea]

No joy
GPS Photo works only on certain ROMs. In my case no joy. On original HC WM6 I used GPS Photo, but after switching to Irus Full SPL1.2 It says that it can not initialize GPS, and returns to Photo mode.
I can live with it, as this rom is really good, but if anybody can give some clue...
Thanks in advance.

There is a GPS program called "TurboGps" it's free and it
will put the co-ordinates at the top of pics.

bigtsr said:
There is a GPS program called "TurboGps" it's free and it
will put the co-ordinates at the top of pics.
Click to expand...
Click to collapse
Funy, I have it on my PPC, but did not noticed this option. Thanks for info.

Still need PhotoGPS
TurboGPS is not a elp. It stamps your photo with the psosition but only on the photo. It does not put your possition in to Exif registru of the phot. So you can not use it with Opanda Exif.
So no joy.
Does anybody know how to make Camera app use photo GPS option. Do we need to return to factory ROM?

Thanks a lot! it works on my Athena well.

Thnxs for the info! ive always wanted to do that.

How do you know when its got the GPS signal?

I assume your talking about TurboGps achieving signal lock.
I just watch the info at the top of the compass screen I then goto
Tools/Various/Camera shot.

ah thnxs hehe you didn't say about that program in the instructions. Really cool program thnxs for the tip

what comm port and buad rate did you use...i can't get a gps lock

Vico100 said:
what comm port and buad rate did you use...i can't get a gps lock
Click to expand...
Click to collapse
Well there was a great debate a while ago and if you search GPS
you can read all about it.
Having said that the 7501 gps setting is COM 5 @ 4800 baud,
this will give access to data stream,this is setup up in
Start/Settings/System/External GPS.
If you are going to use multiple access to the gps as I do the settings
are slightly different-Programs/GPS program port = COM 8 and Hardware/GPS
hardware port = COM 5 @ 4800 baud and Access = check mark Manage
GPS automatically.
In TurboGPS Tools/GPSSetup = COM 5 @ 4800 (or in my case [email protected])
and you must turn it on Tools/GPS/Connect.
Make sure your are outdoors to get a faster fix.

bigtsr said:
Well there was a great debate a while ago and if you search GPS
you can read all about it.
Having said that the 7501 gps setting is COM 5 @ 4800 baud,
this will give access to data stream,this is setup up in
Start/Settings/System/External GPS.
If you are going to use multiple access to the gps as I do the settings
are slightly different-Programs/GPS program port = COM 8 and Hardware/GPS
hardware port = COM 5 @ 4800 baud and Access = check mark Manage
GPS automatically.
In TurboGPS Tools/GPSSetup = COM 5 @ 4800 (or in my case [email protected])
and you must turn it on Tools/GPS/Connect.
Make sure your are outdoors to get a faster fix.
Click to expand...
Click to collapse
It is ot exactly the case. Maybe inX7501 Gps uses com5. In my x7500 and in x7510 it is com4, not com5.
However, deppendent which rom I have used, I could get gps photo runing or not. Other soft, which provide manual setting for com and speed, would work well. These software, which deppends on system api, would not work in some roms (this inclueds gps photo in camera app). So in x7500 originak WM6.0 and Sogaths roms wold provide gps photo and gps api. Irus Full rom and some others do not. The same with original WM6.1 rom in my x7510, which does not provide gps photo nither, although apps which access gps chip directly work well if I set them for com4 and speed between 4800 and 38400.

Related

Hack to enable geocaching on the Athena Camera!

I found this on a French site, by changing the registry you get an extra camera mode that adds current position in the EXIF part of the file!
You need to edit the key : HKEY_LOCAL_MACHINE\SOFTWARE\HTC\Camera\P9 change from 0 to 1 (P9 is the Geocoding profile).
No need to soft reset, just go into the camera and set to Geocode mode (see capture)
The files get stored in My Documents/POI (maybe so they appear in Tom Tom?).
Anybody know of cool ways to use this feature? Flickr? Googlemaps?
Sorry if this has been covered already!
Oh hell yes.....
Madhadder said:
Oh hell yes.....
Click to expand...
Click to collapse
You mean it HAS been covered? could not find anything thru search....
I could never get it to work, it says the GPS is searching, but when I look at the photos I cant find any GPS coordinate data.
Anyone else actually try it?
G
I think Madhadder meant "oh hell yes I can't believe its so easy to add this feature you just made my week".
I'd like to say:
Oh hell yes!
GuardianZX9 said:
I could never get it to work, it says the GPS is searching, but when I look at the photos I cant find any GPS coordinate data.
Anyone else actually try it?
G
Click to expand...
Click to collapse
I think the data is included in the file itself in a special zone that holds info on model of camera etc.
There are some applications that "place" the pictures on maps, I do not know much about this but want to find out! The ideal would be to place them on googlemaps...
techntrek said:
I think Madhadder meant "oh hell yes I can't believe its so easy to add this feature you just made my week".
I'd like to say:
Oh hell yes!
Click to expand...
Click to collapse
Good but as much as I would love to take credit for this find, it is in fact from this site : http://www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=85924&whichpage=3#641517
8th post down.
edeplano said:
I found this on a French site, by changing the registry you get an extra camera mode that adds current position in the EXIF part of the file!
You need to edit the key : HKEY_LOCAL_MACHINE\SOFTWARE\HTC\Camera\P9 change from 0 to 1 (P9 is the Geocoding profile).
No need to soft reset, just go into the camera and set to Geocode mode (see capture)
The files get stored in My Documents/POI (maybe so they appear in Tom Tom?).
Anybody know of cool ways to use this feature? Flickr? Googlemaps?
Sorry if this has been covered already!
Click to expand...
Click to collapse
there are so many line items under that folder. Could you be more specific?
thanks..
I assume that the GPS must be turned on to give the correct position prior to taking the picture, am I right?
Enable
ahmadfarid said:
there are so many line items under that folder. Could you be more specific?
thanks..
Click to expand...
Click to collapse
P1-P9 are profiles for different camera modes. You'll notice that the "Enable" key is 0 in Profile 9. Change it to 1 and you should be good.
Also found this info on GPS passion, and was going to share, but never found the time....
I did the hack on my Ameo last weekend, and played around with it a little. It is ofcourse quite an amazing feature, and it does impress people that sees it, but given the quality of the camera in the Ameo, I'm not sure how usefull it will turn out to be, I would be a little embarassed to upload any Ameopics to Google at least.
Here is what I've found out sofar, if someone finds that useful.
When you start Camera, you get a new option when you choose your Photomode, called GPS. - This starts up the GPS automatically, and once it gets a fix you are ready to shoot.
The pics you then take are stored in /my documents/my Poi - which is created.
These pics will then have the GPS position included in the Exif data.
Haven't yet found a PPC software that is capable of reading these data, but if you read them with your ordinary pc, you can input them into google Maps (on PPC for instance) and it will take you there.
Picassa will read the data, and you can input them manually into your mapsoftware (the format is: xx yy' zz'' aa bb' cc'') but I would recommend "Panorado Flyer 1.2" which is a great free and small application. It gives you some new options in the context menu, so you just right-click your Gpspicture and choose "show location in Google Maps" - and it opens up Google Earth and takes you there.
There was some discussion on the precission of the GPS Data, actually on this very site I'm pretty sure, maybe the kaiser section(?) , someone noticed the last 2 decimals recorded for latitude and longitude allways were the same, so the precision was less than 100 meters, but the good news is this is not the case with our Athenas, they are very accurate!
I don't think I'm allowed to distribute Panorado Flyer here, but here is the link for you to download it yourself.
Hopefully someone will make a similar app. for PPC, which would make this feature so much more useful.
Here is a link to the free version: http://www.photo-freeware.net/panorado-flyer.php
And here is the commercial and probably more functional version (did not try it, but there is a demo): http://www.panorado.com/en/index.htm
I went to a birthdayparty this week and took a GPSpic inside an apartment on the 7. floor to demonstrate to all how brilliant the Ameo is, got a fix and shot a pic. The pic stinks, but if you want to try Pandora, you should be able to rightclick it and fly over here, even if I downscaled it....
And I just tried myself, and the GPS data did not survive the upload so it does not work, sorry.
Here is a shot of what Panorado rteads for that pic:
works well here
Actually you can use this format directly into Google earth, which is simpler I think:
55,685278 12,584445
Ok Midget, on my setup the GPS data was lost when I d'loaded my own pic from the post.
Also had to try it out on my old uni with an external GPS, but it doesn't have the P9 option, could that be because of the old HTC Camera version (3,00 build 21424) or must it have an internal GPS?
Anyone got the newer Camera version (like the one from the Ameo WM6 - 4.01 build 27598)?
hammermedia said:
P1-P9 are profiles for different camera modes. You'll notice that the "Enable" key is 0 in Profile 9. Change it to 1 and you should be good.
Click to expand...
Click to collapse
oh!..ok..i'll try it right away..
thanks
The new mode came right up when I made the registry change. Can someone confirm where the data is stored? Seems there are 2 places mentioned here.
That's freakin awesome! Possibly rates as my top feature of the moment! Good Hack!
And @ techntrek - it goes into my \microdrive\my documents\my poi\
Ace!
I have using panorado software but the error for several pictures on same place (1 square meter) is very large, some hundreds of meters...
beginner said:
I have using panorado software but the error for several pictures on same place (1 square meter) is very large, some hundreds of meters...
Click to expand...
Click to collapse
That is what you will also get when you use googlemap. It can be hundreds of meters off.
I read recently that US goverment wants to decrease the accuracy of GPS. I wonder if it is the result of this project that I noticed that the inaccuracy has been magnified lately.

AstroGPSLauncher - Launch Tomtom/iGuidance/Other

First I would like to say thanks to Shadowmite and Baffles for their idea of GPS Launcher. Shadowmite's GPSLauncher and Baffles' GPS Launcher are great gps launcher but aren't suite my need so I decided to write one myself.
Shadowmite's GPSLauncher is nice and compact but more work, I need to launch the application and click the 'Tomtom' to launch it (2 step). I like Baffles' idea when click on it and launch immediately but unfortunately it use .NET use lot of RAM.
I have issue on both application for tomtom is that when turn off the screen or someone call in, gps connection get lost and re-click it to open up the gps port for tomtom.
This AstroGPSLauncher open the gps port and launch 'gps application'. AstroGPSLauncher will close itself upon 'gps application' exit in which won't have issue when someone call in or turn off the phone.
iGuidance has issue with refresh the screen. To get iGuidance work correctly you need to get GPS Gate to redirect com 4 to com 2 and use this launcher to launch iGuidanceQVGA.exe, on iGuidance set to com 2. This way won't have map refresh issue.
--How to use this AstroGPSLauncher ---
--Copy AstroGPSLauncher to your Main Memory
\AstroGPSLauncher\AstroGPSLauncher.exe
(YOu can copy AstroGPSLauncher to SD Card but you need to change the path inside the shortcut if you use)
This launcher launch gps application through parameter(if you know what I meant) . I have provide two shortcuts 'Tomtom Launcher' which and 'iGuidance Launcher' for your need(Make sure you install tomtom app or iGuidance to main memory which you should). If you install on different location, you need to use notepad and edit the shortcut to correct gps application and icon or you can use 'SK Shortcut Manager' to create a short that point to your launcher.
SK Shortcut Manager - New Short cut Instruction
Name = you provide
Command = select AstroGPSLauncher
Parameters = select your gps application
and set icon to your gps application.
BTW, this application only take 2k of RAM (very small) and 10k for disk memory. It much less memory usage than Shadowmite's GPSLauncher and Baffles' GPS Launcher
If you like this application, please give some comments.
Thanks to shadowmite cab the file.
For people have problem to get AstroGPSLauncer to work
Please use 'SK Shortcut Manager to create a shortcut for you and simplify your process
Sk Shortcut Manager can be download here http://handheld.softpedia.com/get/S...-Applications/SK-Shortcut-Manager-18241.shtml
[SK Shortcut Manager]
Create new Shortcut
Name = you provide
Command = select AstroGPSLauncher
Parameters = select your gps application
and set icon to your gps application.
YOu can uninstall SK Shortcut Manager after done create a shortcut for your GPS
If you use iGuidance, you can use TalynOne 'iGuidanceInternalGPSLauncher.mscr', with GPSGate to get one step launch solution
Read this thread for more detail.
http://forum.xda-developers.com/showthread.php?t=363431
Awesome! Thanks AstronusX, will be testing this soon. I updated my FAQ with info about your app.
http://forum.xda-developers.com/showthread.php?t=363431
Edit: Just tested it, I first had to change the IGuidance shortcut to point to my storage card, as you described. I tested both TomTom and IGuidance and they work as advertised. I also tested running TomTom, turning off my Mogul, waiting 30 seconds, and turning it back on, and TomTom reacquired the GPS within 10 seconds. Awesome, thanks again AstronusX!
Works perfect with iGuidance.
Thanks!
What are the chances of adding auto-launch/auto-kill of GPSGate to this app? That would be the end-all-be-all launcher for iGuidance.
I created an iGuidance one tap autolauncher. If GpsGate is not running, it starts it. The script then stores your device's current Power timeout, and backlight timeout and brightness settings. Then sets your device for no timeouts for power and backlight, and sets your backlight to maximum brightness. It then sets iGuidance to skip the startup warning dialog, before launching iGuidance through AstroGPSLauncher. Once you exit iGuidance the script will restore your previous backlight/power settings. The only thing not working in the script right now is that it doesn't terminate GpsGate on exit if the script started GpsGate. I have not found a reliable way to close GpsGate. All current methods I've tried of closing/terminating GpsGate leave an unresponsive icon in the tray of the Today screen.
For those who are interested, I've made a copy of this script available for download HERE. Instructions on how to install/use the script are in the included "iGuidanceInternalGPSLauncher.mscr" Mortscript file.
Working quite well with iGo 2006
Nice job, working well with TomTom.
can we just dumb this down to my level for a sec lol...for my iguidance...
iGuidance has issue with refresh the screen. To get iGuidance work correctly you need to get GPS Gate to redirect com 4 to com 2 and use this launcher to launch iGuidanceQVGA.exe, on iGuidance set to com 2. This way won't have map refresh issue.
huh? i installed astrogpslauncher and changed the shortcut to open my iguidance on my sd card...it all opens, but whats with the redirect port? how would i do this? thanks! this is gonna make me sooooooooooo happy
Is there a way we can add run this launcher from the HTC home ? How would I get this launcher into the program shortcuts? thanks
help
ok i have igo instlled on main memory can some one plz tell me what to edit the shortcut to? and were do i put the gps launcher and shortcut plz?
turilo said:
ok i have igo instlled on main memory can some one plz tell me what to edit the shortcut to? and were do i put the gps launcher and shortcut plz?
Click to expand...
Click to collapse
i'm interested in this too b/c i'm lost
friguy33 said:
can we just dumb this down to my level for a sec lol...for my iguidance...
iGuidance has issue with refresh the screen. To get iGuidance work correctly you need to get GPS Gate to redirect com 4 to com 2 and use this launcher to launch iGuidanceQVGA.exe, on iGuidance set to com 2. This way won't have map refresh issue.
huh? i installed astrogpslauncher and changed the shortcut to open my iguidance on my sd card...it all opens, but whats with the redirect port? how would i do this? thanks! this is gonna make me sooooooooooo happy
Click to expand...
Click to collapse
You need to install GPSGAte software or GPSProxy to redirect the port to com2 and use AstroGPSLauncher shortcuts to launch it.
1999TL said:
Is there a way we can add run this launcher from the HTC home ? How would I get this launcher into the program shortcuts? thanks
Click to expand...
Click to collapse
- Yes you can, just copy the shortcut to \Windows\Start Menu\Programs and you can select from HTC Home selection
turilo said:
ok i have igo instlled on main memory can some one plz tell me what to edit the shortcut to? and were do i put the gps launcher and shortcut plz?
Click to expand...
Click to collapse
-- For iGo to work you also need to redirect your port as well, use GPSGate or GPSProxy to redirect your port to com2. After that, use 'Notepad' and open one of the short cut(eg. Tomtom Navigator Launcher) and change Tomtom Path to iGo Path and copy ur new shortcut to to \Windows\Start Menu\Programs and launch it from there (make sure you have gpsgate setup and it is running).
--Note: You can find 'Tomtom Navigator Launcher' shortcut in my zip file.
To create shortcut, you can use SK ShortCut Manager to make it simple and you can change icon as well.
Yah, I figured out the shortcut last night. This program ROCKS! THank you so much. I find a signal in 10 secs. With my bluetooth receiver, sometimes the damn thing wouldn't even connect. THANKS!!
I love this damn phone. Iphone killer
I'm glad it works for you
friguy33 said:
can we just dumb this down to my level for a sec lol...for my iguidance...
iGuidance has issue with refresh the screen. To get iGuidance work correctly you need to get GPS Gate to redirect com 4 to com 2 and use this launcher to launch iGuidanceQVGA.exe, on iGuidance set to com 2. This way won't have map refresh issue.
huh? i installed astrogpslauncher and changed the shortcut to open my iguidance on my sd card...it all opens, but whats with the redirect port? how would i do this? thanks! this is gonna make me sooooooooooo happy
Click to expand...
Click to collapse
More detailed instructions on how to setup GpsGate and iGuidance are here:
http://forum.xda-developers.com/showthread.php?t=363431
So i got it working with iguidance, kinda annoying though. The GpsGate (which is not free, any free alternatives?) puts an icon on the today screen, so i run gpsgate then iguidance, what is the benefit of running the AstroGPSLauncher instead of just running iGuidance itself? iGuidnace was a little "choppy" when i drove to work today. might try tomtom (no TTS) sadly and see if its better.
friguy33 said:
So i got it working with iguidance, kinda annoying though. The GpsGate (which is not free, any free alternatives?) puts an icon on the today screen, so i run gpsgate then iguidance, what is the benefit of running the AstroGPSLauncher instead of just running iGuidance itself? iGuidnace was a little "choppy" when i drove to work today. might try tomtom (no TTS) sadly and see if its better.
Click to expand...
Click to collapse
Try my MortScript, it automates the AstroGPSLauncher, GpsGate launch process, it also turns off the backlight timeout while iGuidance is running, and skips the warning screen for you.
Without the AstroGPSLauncher iGuidance will not see the GPS at all, unless you ran another program that started the GPS for you, AstroGPSLauncher starts your GPS radio for you, and keeps it alive.
Also check my FAQ for a link to a free GpsGate alternative, though I haven't tested to see if it works.
Tilt & TomTom
Has anybody have any problems with there Tilt phone after installing TomTom 6. ?
I tried your mortscript but wasnt working...put the shortcut in the program folder, installed mortscript but when i try and run it says script/programs/GPSLauncher/iGuidanceinternalGPSLa (its then cut off) not found. waiting for existance. storage card not initialized?
iGuidance is on my storage card obviously but its all working other wise...how do i fix this? thanks...new to mort script so i apologize if this is basic crap...

How do I know if GPS photo is working?

I have the AP 4 ROM, and I've enabled the setting in the Athena Config App.
When I take a picture, how do I know if its actually working and if I even have a sat. fix?
thx a lot..
kramerica2 said:
I have the AP 4 ROM, and I've enabled the setting in the Athena Config App.
When I take a picture, how do I know if its actually working and if I even have a sat. fix?
thx a lot..
Click to expand...
Click to collapse
If you select picture modes, it will offer you a selection, that shows a little gps / globe looking icon, if you go to that mode and it doesn't error out, then it should be working and print the geo-location information on either the picture or within the meta-data for use with other meta-data readers that help you to access and plot the data as you so desire. My GPS mode was failing on me and throwing an error, so my guess is that if you can avoid the error, then you are good to go
Hope this helps,
Bob
Thanks,
Actually I do get an error saying "can't initialize GPS service" (or something like that). Does anybody know if it's a problem in AP4?
GPS photo will have embedded GPS info in EXIF image data - for example:
File
Comment
Camera
Make HTC
Model HTC_X7500
X resolution 72/1
Y resolution 72/1
Resolution unit inches
Date/time 27.12.2007 1:23:43
Image
Image description
Artist Milutin Kitic
Copyright
Date/time original 27.12.2007 1:23:43
Date/time digitized 27.12.2007 1:23:43
Flash Flash did not fire
User comment
Colorspace sRGB
Pixel X dimension 2048
Pixel Y dimension 1536
GPS
GPS Latitude Reference North latitude
GPS Latitude 44?46' 13"
GPS Longitude Reference East longitude
GPS Longitude 17?12' 0"
GPS Timestamp 0:23:23
GPS Date Stamp 2007:12:27.
Miscellaneous
Exif version 2.2
GPS Version ID (2,2,0,0)
I was unable to initialize properly GPS intermediate driver in AP4 - It's not working properly. Seams like initialization goes well but no actual GPS data is transfered back. Since all software can be configured to work without this driver this is not some big issue actually.
kramerica2 said:
Thanks,
Actually I do get an error saying "can't initialize GPS service" (or something like that). Does anybody know if it's a problem in AP4?
Click to expand...
Click to collapse
You're welcome, have you PM'd Pawel or one of the other lead cooks?
miletb said:
GPS photo will have embedded GPS info in EXIF image data - for example:
File
Comment
Camera
Make HTC
Model HTC_X7500
X resolution 72/1
Y resolution 72/1
Resolution unit inches
Date/time 27.12.2007 1:23:43
Image
Image description
Artist Milutin Kitic
Copyright
Date/time original 27.12.2007 1:23:43
Date/time digitized 27.12.2007 1:23:43
Flash Flash did not fire
User comment
Colorspace sRGB
Pixel X dimension 2048
Pixel Y dimension 1536
GPS
GPS Latitude Reference North latitude
GPS Latitude 44?46' 13"
GPS Longitude Reference East longitude
GPS Longitude 17?12' 0"
GPS Timestamp 0:23:23
GPS Date Stamp 2007:12:27.
Miscellaneous
Exif version 2.2
GPS Version ID (2,2,0,0)
I was unable to initialize properly GPS intermediate driver in AP4 - It's not working properly. Seams like initialization goes well but no actual GPS data is transfered back. Since all software can be configured to work without this driver this is not some big issue actually.
Click to expand...
Click to collapse
Thanks for posting the example EXIF information, if you are able to find a way to get that mode to work properly, I would love to hear about the steps you took to make things right
v/r
Bob
It used to work in AP3
I got it working in AP3 by first letting VisualGPS or Google Maps get a satellite fix and only then starting the camera.
Haven't tried it in AP4 yet, though. Will report back on this.
Stock WM6 ROM was fine - AP4 does not work.
GPS Photo not working
I have the same problem when trying to take a gps photo, I too get the error can't initialize gps, I get a fix with google maps and tomtom before trying and still the same message!
If anyone does know how to fix this please let me know!
Its not only that. If I get a fix before starting the camera using IGO for that matter, then minimize IGO and starting the camera, after getting that error, IGO also losses the GPS settings, and I have to restart it.
any news
is the gps photo fixed yet?
How to Set GPS for camera?
I did once in older ROM, but after installing new ROM, it is not set. How can I set the GPS for camera? I really have forgotten.
Edit:
OK, I remeber. Just use Schaps Advanced Config Tool.
Edit 2:
Not working for me either. The same error as above. ALso after google maps or any other GPS app.
I can make photo-GPS with AP4 platinum ROM
Copy this file in Windows folder.
You must rename original file in Windows folder with other name ( for example gpsid_HTC.dll.old) before copy the new file.
File is from galt http://forum.xda-developers.com/showthread.php?t=405016

Adapter program to enable assisted GPS on the Verizon xv6800 "MR1" (WM 6.1) ROM

Adapter program to enable assisted GPS on the Verizon xv6800 "MR1" (WM 6.1) ROM
I've written up a program that will enable the use of assisted GPS on the MR1 Verizon ROM. This may be of use to you if you do not want to use a custom ROM, -or- you cannot get GPS working on a custom ROM.
Note: This method does not currently work on dcd's releases. My code has only been verified to work on the Verizion MR1 ROM. I believe this is because the Sprint GPS intermediate driver does not support the DRM/locked down GPS functionality required to talk to gpsOne once the firmware has been programmed for locked down GPS mode.
You can always flash back to MR1 from a custom ROM. If you already have GPS working on your custom ROM, this is probably not necessary, and you should keep your existing ROM.
A cab installer (courtsey of gc14) can be found here: http://forum.xda-developers.com/attachment.php?attachmentid=111774&d=1220913180. Note that due to a bug in the .cab file, you cannot automatically uninstall the cab, but you can just manually delete the files that it installs (see below to discover which files those include).
Otherwise, you can manually install the program, as detailed below.
The installation of my GPS adapter is a bit complicated right now, and this is a fairly beta release. I have only tested it with Google Maps. However, it should work with any GPS-enabled program that can use the standard GPSAPI.dll functions.
Note that your GPS program must be configured to use Windows-managed GPS and not an explicit COM port. My adapter module does not support the NMEA serial interface, only the "cooked" GPSAPI.dll interface. Notably, the HTC GPC Test program uses the NMEA COM port interface, and will not work with the GPS adapter.
The GPS adapter system consists of several parts under the hood:
- gpssrv.exe, a program that I wrote which understands how to decrypt GPS data from the chipset when it is operating in locked down GPS mode. This program acts as an intermediary server, through which all GPS clients can indirectly access location information.
- gpsapi.dll, a replacement for the OS-level gpsapi.dll. The replacement DLL communicates with gpssrv.exe to retrieve positioning information. This model allows multiple programs to receive GPS data at the same time, as the locked down GPS interface only supports one concurrent user.
- oemgpsOne.dll, a modified version of the Verizon oemgpsOne.dll module for communicating with the gpsOne chipset driver.
- stdgps.dll, a copy of the standard OS gpsapi.dll. Due to limitations in Windows CE, this needs to have a different name than the replacement gpsap.dll. It is otherwise identical to the shipping version of gpsapi.dll.
To install the GPS adapter, you should grab the program files at the following URL:
http://www.nynaeve.net/Skywing/xv6800gps/gpsserver.zip
Currently, there's no CAB installer, so all of the installation must be done manually. Sorry. A CAB may come later on, if someone feels like doing the work to build one for me.
After extracting the zip onto your device, follow these instructions:
1. Create a "\Program Files\GPSServer" directory on your device.
2. Copy gpssrv.exe, oemgpsOne.dll, and stdgps.dll to "\Program Files\GPSServer".
3. Copy gpsapi.dll into the directory where your GPS program resides. For example, "\Program Files\GoogleMaps".
Optionally, you can copy gpsapi.dll to your \Windows directory instead of the directory for the main .exe of your chosen GPS application. This may be more reliable, as if something loads the Windows-supplied gpsapi.dll before the custom gpsapi.dll, things will break. Doing this is slightly more complicated.
To (optionally) copy the new gpsapi.dll to your \Windows directory, you may use these steps:
1. Rename gpsapi.dll to something else (e.g. "gpsapix.dll").
2. Copy the renamed gpsapi.dll to \Windows
3. Rename the renamed gpsapi.dll in \Windows back to gpsapi.dll.
The renaming juggling is necessary as File Explorer will otherwise refuse to supersede an XIP ROM file. You can simply delete \Windows\gpsapi.dll after doing these steps to revert back to the standard Windows gpsapi.dll, without having to hard reset your device, although this will again break GPS for you.
After that, you should be able to start your GPS program (e.g. Google Maps) and receive location data. Note that being inside in a shielded location may impede the process of acquiring a GPS fix. Also, to gain the benefit of assisted GPS mode, you need to have an active cell data connection, and you should not be connected to ActiveSync or Wi-Fi.
There are some registry settings that you can create on the device to tweak how the GPS adapter functions:
REG_SZ HKEY_LOCAL_MACHINE\Software\Valhalla Legends\GPSServer\ServerPath = "Path to gpssrv.exe". Defaults to "\Program Files\GPSServer\gpssrv.exe" if not set.
REG_DWORD HKEY_LOCAL_MACHINE\Software\Valhalla Legends\GPSServer\AllowDeviceStateChange = 0/1. Defaults to 0 if not set. If set to 1, then gpsapi.dll will send device state change notifications to your GPS program. Some programs appear to have buggy GPS handling (Google Maps in particular), and will break if this option is set.
REG_DWORD HKEY_LOCAL_MACHINE\Software\Valhalla Legends\GPSServer\PDEAddress = IP address of the PDE to use. Defaults to 0x845FAE42.
REG_DWORD HKEY_LOCAL_MACHINE\Software\Valhalla Legends\GPSServer\PDEPort = Port number for the PDE. Defaults to 8888.
REG_DWORD HKEY_LOCAL_MACHINE\Software\Valhalla Legends\GPSServer\Mode = gpsOne mode to set. Defaults to 2.
REG_DWORD HKEY_LOCAL_MACHINE\Software\Valhalla Legends\GPSServer\QoSAccuracy = Relative fix accuracy requested. Defaults to 64. (Max of 255, higher values request a more accurate fix, but this may increase the time to acquire a fix.)
REG_DWORD HKEY_LOCAL_MACHINE\Software\Valhalla Legends\GPSServer\QoSPerformance = QoS performance flag. Defaults to 10. As to what effect this has on the gpsOne chipset, I'm not entirely certain yet. Debugging reveals that the value internally is called the QoS performance value, hence the name. The meaning of this value is likely buried in some gpsOne technical document that I have not found yet.
REG_DWORD HKEY_LOCAL_MACHINE\Software\Valhalla Legends\GPSServer\FixInterval = Time, in milliseconds, between requests to the gpsOne chipset for an updated GPS fix. Defaults to 1000.
The default values should work fine, so you don't need to bother with the registry values unless you really want to. Most of the defaults were gathered by researching the settings that VZ Navigator uses internally.
---
Program compatibility list:
---
- Only programs that use GPSAPI.dll and not a COM port will work with the adapter. Most GPS programs will support using GPSAPI.dll.
- Google Maps will function if you configure it such that the GPS setting is set to "Managed by Windows". This is the default setting. Also, remember to check "Use GPS" in the menu when you start Google Maps, in order to enable GPS inside of Google Maps.
- Live Search will function if you configure it such that the GPS setting is set to "GPS Intermediate Driver". This is the default setting.
- HTC GPS Tool will not work properly, as it can only use a COM port.
- If you want to use VZ Navigator after having installed the GPS adapter, then you need to place oemgpsOne.dll and stdgps.dll in \Windows.
---
Other notes:
- The GPS adater does not enable free use of VZ Navigator. It only allows third party programs that are designed to talk to the standard Windows Mobile GPSAPI.dll interface to operate on the xv6800 MR1 ROM.
- You do not need to manually start gpssrv.exe. When a program loads the custom gpsapi.dll and requests a position fix, gpssrv.exe will be automatically started on demand to power up the gpsOne hardware and start acquiring position data. It will automatically turn off the gpsOne hardware and exit on its own 60 seconds after there are no programs open that are still requesting a GPS fix.
---
Troubleshooting:
Here are some steps that you can take if you are having problems getting things to work.
1) Make sure that you're on the Verizion MR1 ROM and not a third party custom ROM, or the original release Verizion ROM.
2) Make sure that your Location setting is set to "LOCATION ON" and not "911 ONLY" in your Phone > Services > Location settings.
3) Make sure that your GPS program is configured to use Windows-managed GPS or "GPS Intermediate Driver", and not a specific COM port.
4) Give the following test program a try, to verify that GPS is working in general. The test program does not require the GPS adapter to run. If the test program can receive GPS data, then either the GPS adapter program is not installed correctly, or your GPS-enabled application is not configured properly. If the test program cannot receive GPS data, then you have a different problem (perhaps your location option is still set to 911 only?). Test program link: http://www.nynaeve.net/Skywing/xv6800gps/gpstest.zip
Reserved for future updates.
Adapter
Downloading now but awfully slow.
I will also work on a cab install for you too.
Steve
so this is just a modified version of the Verizon GPS driver?
I was wondering if it would be possible to OEM that into one of the Custom ROMS through the kitchen and making it work without a hitch (assuming this program replaces those bad .dll files)
No, it's a bunch of new code that I wrote that understands how to decrypt the obfuscated GPS data returned by the Verizon GPS driver, when the firmware is in locked down GPS mode.
Posted a new version (updated gpssrv.exe and gpsapi.dll, be sure to update both files when you upgrade).
This release fixes compatibility with Windows Live Search, adds support for caching position across API calls (required for some GPS programs), and fixes a number of bugs.
Please let me know if you have any issues with it.
Skywing said:
Note that your GPS program must be configured to use Windows-managed GPS and not an explicit COM port. .
Click to expand...
Click to collapse
I use Iguidance that requires me to choose a port. How would I tell it to use the above method? There is an option to search for a gps. Should I try to find it that way?
The gpssrv.exe file, does it need to be run at some point?
If the program can only do NMEA serial, then it's not going to work, unfortunately. Reimplementing the virtual serial port interface is much more complicated to do on my end than reimplementing the GPSAPI.dll interface.
If your program has an "automatic", "use Windows settings", or "GPS Intermediate Driver" option, those options would typically mean that the GPSAPI.dll functions instead of NMEA serial will be used (if selected).
Doesn't work...
If anyone gets this to work with Iguidance v4.0 PLEASE let me know!!
I just wanted to say great work to Skywing. I dont have any gps problems anymore, but I must commend you for coming up with solutions to help.
No real value to this post, just to say thanks to the community in general!
thundaar2000 said:
Doesn't work...
If anyone gets this to work with Iguidance v4.0 PLEASE let me know!!
Click to expand...
Click to collapse
You might try and see if you get location data returned by Google Maps, which will work if you do not configure it to use a specific COM port.
I just downloaded the adapter zip and followed the instructions to a "T" and was able to get a lock on some sat's using GPS Viewer, but spent an hour or better trying to get GOOGLE maps or LIVE Search to work and neither one could get a lock on any sat's... Any ideas?
Thanks,
GA MADMAN
Are you certain that you placed gpsapi.dll in \Windows or in the directory with GoogleMaps.exe?
Other things to check:
- Make sure location is enabled in your phone setting. I assume that you have already done this, however.
- Make sure that Google Maps has the GPS confiugration set to "Managed by Windows".
Skywing,
Thanks for posting this software. I look forward to using it. I am convinced that mine is not working because I have not replaced the file in the \Windows folder.
I cannot rename it, I am using Total Commander.
I am convinced that I cannot rename it because something is using it.
I have a pretty basic install of XV6800 with MR1. Just a couple of programs installed.
Any advice on how to rename the file?
Thanks
New build did not get put up properly; this has been remedied. Please re-grab the .zip if you had previously downloaded it before this message, and then update all of the files.
Note that you need to completely delete the gpsapi.dll in \Windows and then do the renaming trick again, otherwise, File Explorer will claim to copy the new file over, but it will actually delete it and switch to the ROM version.
kilgore19K said:
Skywing,
Thanks for posting this software. I look forward to using it. I am convinced that mine is not working because I have not replaced the file in the \Windows folder.
I cannot rename it, I am using Total Commander.
I am convinced that I cannot rename it because something is using it.
I have a pretty basic install of XV6800 with MR1. Just a couple of programs installed.
Any advice on how to rename the file?
Thanks
Click to expand...
Click to collapse
No idea about using Total Commander for it. You can use the (cumbersome, but working) steps I posted with the built in File Explorer (fexplore.exe) program. Those steps are confirmed to work.
Downloaded the app.
Works perfectly.
Thank You!
I also followed each step and my XV6800 is unable to get a GPS location in either Google maps or Live search.
THANK YOU!
Thank you for the amazing tool!!! This has my MR1 ROM running GPS fast and efficiently. Let me know if I can be of any assistance... I have access to some webhosting space and other resources to keep this project alive if needed.
Mugenakuma said:
I also followed each step and my XV6800 is unable to get a GPS location in either Google maps or Live search.
Click to expand...
Click to collapse
Can you list all of the steps that you took and what state you are in right now (e.g. which files copied where, and soforth)?

[Q] Serial (USB) GPS on Vegan -- so close...

I know there have been some general questions about this, but I wanted to share what I've done and see if anyone can help get over the last hump. I have a USB GPS (GR-110 I got for next to nothing from Geeks awhile back). Running VEGAn 5.11 + supplements + Pershoot kernel.
So here's what I have working:
1) Plug in USB, get /dev/ttyUSB0. Woot! Thanks Pershoot!
2) Use stty to set the baudrate to 4800 (stty -F /dev/ttyUSB0 4800)
3) cat /dev/ttyUSB0 dumps out NEMA strings. Woo hoo! $SPGSV tells me I have 12 birds in view.
4) Now at this point, if you HAD to you could write a GPS faker like many of the bluetooth ones do. I don't know why none of them don't already have options for an arbitrary character device but if they did we'd be done here.
5) On the other hand, you know a built in GPS card would still be NEMA and still look like an RS232 port so.... turns out that's a property ro.kernel.android.gps. You can set this at the command line, but I suspect that the Android stack looks for GPS on start up and if it doesn't find it, that's that. So you edit build.prop to put in: ro.kernel.android.gps=ttyUSB0 [from what I can read it doesn't want /dev/ in front of it]
6) I do not know if the Android code sets the port to 4800 baud or not. In fact, it could be that it wants it at a different baud rate but I have no idea what that baud rate would be. So I decided to get in early on the boot process and make a few changes. If you look at my other posts, I have added an rc.local that runs right at the end of init.rc but is in "user space" (not overwritten on each boot). So I added this to the start of rc.local (important because my rc.local blocks later to wait for the sdcard mounts):
#gps
if [ -c /dev/ttyUSB0 ]
then
chmod 666 /dev/ttyUSB0
stty -F /dev/ttyUSB0 4800
fi
7) No joy. The buad rate and permissions are set, so I know the rc.local is running. I can stream data out of the GPS raw but Android just isn't seeing it.
8) I theorized that maybe Android is checking for GPS before I am running my script. To test that I used LCD Density changer to restart the Android stack. This is like a boot, but the Linux isn't rebooted. No difference.
9) Another theory would be Android expects its GPS at a different baud rate and is setting it.
10) Is there some Android service required that is disabled or just not started maybe?
I feel like I am soooooo close..... Any ideas?
Hi wd5gnr,
I've been working on something very similar on the android powered scroll tablet but instead using an internal serial port we've identified.
Made no progress is making android accept the nmea stream as its own internal gps (using ro.kernel.android.gps) so have started to write an android program similar to the BT GPS apps where it reads the serial port, parses out $GPGGA and then uses mock locations to update the location system. I'm at the point of splitting the identified string into its components.
While I know this isn't the cleanest of hacks but it 'should' work, i've built it from the SerialPort.sample code so you can change the serial port and baud rate in the options - it hopefully will work on any android system.
Will keep you updated on my progress
James
Oh, at least i find a post with people working on it...
First, i have an Advent Vega, that is similar to Gtab.
I make it work, but with time it crash.
My steps:
1) Do the same that the first post, get ttyUSB0, change baudrate, modify ro.kernel.android.gps...
2) In vega we have 3 libgps... the default, one for integrated ericsson 3g/gps and one for huawei ones. This integrated are optional and my tablet doesnt have, but i can remane any of the to libgps.so and use them. Anyway, with default may work, but i get it working with huawei one.
3) You need to activate gps in settings (if you have gps greyed in location settings, can use a widget, like power widget).
4) To test i used gpstest app, so once you get nmea data in ttyUSB0, activate gps with widget and start gpstest. Maybe you dont get data (i dont), so come back to terminal and with stty ask the port for the baudrate (dont remember the command). In my case it has 9600 baudrate, so need a aplication in windows to change gps usb baudrate to 9600 (search in the windows drivers of your usb gps)
5) Once changed in windows, i come back to android and change stty command to the correct baudrate (like i said 9600), and redo the steps (cat ttyUSB0, activate gps and launch gpstest)
AND GET DATA... but some time after it crash the full tablet...
No more time to test it, but it's in my to-do list.
I dont know if i explain it good, but you can ask anything.
Anyway an app that can choose which port to listen to will be much better.
Corvus.
jamescoxon said:
Hi wd5gnr,
I've been working on something very similar on the android powered scroll tablet but instead using an internal serial port we've identified.
Made no progress is making android accept the nmea stream as its own internal gps (using ro.kernel.android.gps) so have started to write an android program similar to the BT GPS apps where it reads the serial port, parses out $GPGGA and then uses mock locations to update the location system. I'm at the point of splitting the identified string into its components.
While I know this isn't the cleanest of hacks but it 'should' work, i've built it from the SerialPort.sample code so you can change the serial port and baud rate in the options - it hopefully will work on any android system.
Will keep you updated on my progress
James
Click to expand...
Click to collapse
I've thought about this too. Should be easy. Would be even easier if we had RxTx ported to this tablet. I saw someone has done this, but it is very specific to hardware and I haven't looked at what that would take. But I imagine just opening /dev/ttyUSB0 ought to work. I've been known to write a little code myself (http://www.ddj.com/embedded) and if I ever find time to get started on this I'll start it as a google code project and invite you ;-)
corvus said:
Oh, at least i find a post with people working on it...
2) In vega we have 3 libgps... the default, one for integrated ericsson 3g/gps and one for huawei ones. This integrated are optional and my tablet doesnt have, but i can remane any of the to libgps.so and use them. Anyway, with default may work, but i get it working with huawei one.
.
Click to expand...
Click to collapse
The only GPS lib I see in VEGAn 7 is /lib/hw/gps.goldfish.so
Goldfish is an emulator I think, so that is not promising.
You mention 9600 baud -- are you saying that the system sets the port to 9600 so you have to set the GPS to 9600 to match?
wd5gnr said:
I've thought about this too. Should be easy. Would be even easier if we had RxTx ported to this tablet. I saw someone has done this, but it is very specific to hardware and I haven't looked at what that would take. But I imagine just opening /dev/ttyUSB0 ought to work. I've been known to write a little code myself and if I ever find time to get started on this I'll start it as a google code project and invite you ;-)
Click to expand...
Click to collapse
Hey,
I've been using android-serialport-api (google it, i can't post links yet) as my access to the port. My current code (its very basic) is built off the serial console sample. In its current state it access the chosen serial port, extracts the $GPGGA string, parses it and then converts it from DDmm.mmm to DD.ddd. I'm now at the stage of posting it to mock locations - just need to do some extra reading on the subject. This really is just a proof fo concept app as for example it doesn't run in the background but i felt that all that can come in the future.
James
wd5gnr said:
The only GPS lib I see in VEGAn 7 is /lib/hw/gps.goldfish.so
Goldfish is an emulator I think, so that is not promising.
You mention 9600 baud -- are you saying that the system sets the port to 9600 so you have to set the GPS to 9600 to match?
Click to expand...
Click to collapse
Yes, you must have a libgsp.so for android to detect the gps.
And yes, depending the library used, the baudrate must set to 9600 or other.
Corvus.
jamescoxon said:
Hey,
I've been using android-serialport-api (google it, i can't post links yet) as my access to the port. My current code (its very basic) is built off the serial console sample. In its current state it access the chosen serial port, extracts the $GPGGA string, parses it and then converts it from DDmm.mmm to DD.ddd. I'm now at the stage of posting it to mock locations - just need to do some extra reading on the subject. This really is just a proof fo concept app as for example it doesn't run in the background but i felt that all that can come in the future.
James
Click to expand...
Click to collapse
Once you get a working app, please send me a priv so i can help you testing it...
Thanks.
Corvus.
so has anyone got usb gps to work yet?
On the malata site. there is a t11 rom for Android 2,2 which calls the Huawei GPS
http://www.malata.com/cn/downloadlist.aspx
T11 Tablet PC May 18, 2011 firmware (support plug-in 3G modem Huawei E261 Unicom)
Take a look at this:
http://forum.xda-developers.com/showpost.php?p=17385039&postcount=15
but before you use this appliction, you must run stty -F /dev/ttyUSB0 -ispeed 4800 (baudrate and port base on your device). Everything fine and fix without 1 second!

Categories

Resources