Jump to content

UNLOCKING CDMA I910 GPS - please help us!


Guest aleis

Recommended Posts

Guest Michaelk2
An update -

I tried copying various dll files from the XV6800 with no effect, other than to break the GPSTest program as well. One item of note: The oemGPSone.dll is at least twice as large on the Omnia than the XV6800. Also, the stdgps.dll (aka gpsapi.dll) files are different as well. I tried replacing the stdgps.dll in the GPSServer package with the gpsapi.dll file from the Omnia but it didn't seem to make any difference.

michaelk from pdaphonehome- i stumbled on the gpstest working on the saga if we rename the dll- sounds like you guys already have the dll named correctly.

(disclaimer for those who didn't read the thread at pdaphonehome- i KNOW NOTHING- laughing- last time i wrote any code it was probably on a "computer" with a membrane keyboard in BASIC)

Odd that you guys seem to be getting long and lat inverted- on the saga it's all good.

anyway- try installing the gpsserver.zip per the manual instructions in the first post of the xda 6800 mr1 adapter thread. DONT USE THE CAB.

Now DELETE the stdgps.dll that comes with that- the stdgps.dll is just the native oemgpsone.dll renamed. gpsserver uses it's modded oemgpsone.dll that does some of the magic. Problem is the stdgps.dll in the pacakge is the native oemgpsone.dll from the 6800 and likely you guys have a different oemonegps.dll since you have a different chipset - plus might be different on each manufacturere or each device. Anyway take your oemgpsone.dll from your windows directory and rename it and put it in the gpsserver directory and have a go at it. Be careful- you can't copy it first and then rename as it will voerright skywings modded oempgsone.dll. So copy it someplace else first, rename, then move.

maybe you guys hit the jackpot-

good luck

Link to comment
Share on other sites

Guest Michaelk2
ok we already know vznav unlocks the gps and relocks it when closed, is there a way to hack vznav executable to do nothing when closed and leave the gps unlocked, then uninstall vznav and walla there you have it, let the prog thats causing the problem fix it. just a thought

read the skywing white paper on the xv6800 - it explains the "locks" that vz has going on in pretty simple terms that even i understood.

since his gpstest program which works then they dont seem to have added any new countermeasures beyone d the 6800.

so the answer to your question is no- when vznav unlocks the gps it does so for itself only- nothing else can see the unencrypted data. Some programs might see the encrypted data but they can't decrypt it so it's totally wrong or they wont get a fix. What VZNAV and LBSdriver.dll are doing is constantly replying to a handshake request from the gps radio if you dont reply then the radio shuts down. So vz futzed with the firmware in the radio too not just the os. Also vznav, and oempsone, lbsdriver, and/or others then need to dectypt the data as it's obfuscated (pretty simply as skywing explains- but still it's not "in the clear")

the valhalla gps server and the stand alone gps test program 1) keep telling the gps radio that it's ok to give them data, and 2) then decrypt the data to normal gps data.

Link to comment
Share on other sites

read the skywing white paper on the xv6800 - it explains the "locks" that vz has going on in pretty simple terms that even i understood.

since his gpstest program which works then they dont seem to have added any new countermeasures beyone d the 6800.

so the answer to your question is no- when vznav unlocks the gps it does so for itself only- nothing else can see the unencrypted data. Some programs might see the encrypted data but they can't decrypt it so it's totally wrong or they wont get a fix. What VZNAV and LBSdriver.dll are doing is constantly replying to a handshake request from the gps radio if you dont reply then the radio shuts down. So vz futzed with the firmware in the radio too not just the os. Also vznav, and oempsone, lbsdriver, and/or others then need to dectypt the data as it's obfuscated (pretty simply as skywing explains- but still it's not "in the clear")

the valhalla gps server and the stand alone gps test program 1) keep telling the gps radio that it's ok to give them data, and 2) then decrypt the data to normal gps data.

Michaelk2,

Can you PM me?

Link to comment
Share on other sites

Guest M Moogle

OK, I'm SOOOOOOOOO close I can taste it - I've gotten Google Maps to successfully talk to the GPSServer application, have the GPSServer application establish a connection with the GPS hardware, talk to the AGPS servers and then... it dies :rolleyes:

Heres what I've done (thanks to hints from everyone in this thread):

- The oemgpsone.dll and gpsapi.dll files are different on the Omnia than the XV6800 - so following the logic that Skywing did I

- Dumped and extracted the Omnia's rom to get it's oemgpsone.dll and gpsapi.dll files,

- Copied/renamed gpsapi.dll to stdgps.dll and put it in the GPSServer directory (and \Windows)

- Hex-edited oemgpsone.dll to reference stdgps.dll and not gpsapi.dll (like the file included with GPSServer), copied it to GPSServer directory and \Windows (overwriting the XIP file)

- Put the GPSAPI.dll that comes with GPSServer in \Windows (overwriting the XIP file)

- Poked around in the GPSServer.exe and noticed that by creating a registry string called "HKEY_LOCAL_MACHINE\Software\Valhalla Legends\GPSServer\ServerLogFile" the program will create a debug dump - I put it in \gpslog.txt

- Soft-reset

- When I fire up Google Maps (or Live Search) I can see the phone creating a data connection to talk to the AGPS servers, but a location is never reported. The GPSTest application still works, which is more than what I ever got to happen before when messing around with dll files.

Heres what my debug gpslog.txt contained (with encryption keys changed since I'm not sure if I should be posting them):

Handling key challenge...

 Device challenge:

 (Hex string goes here)

 DeriveKeyFromChallenge: Challenge is:

 (Hex string goes here)									  

 TransformChallenge: Initial challenge:

 (Hex string goes here)										

 TransformChallenge: Transformed challenge:

 (Hex string goes here)											 

 DeriveKeyFromChallenge - Done!

 User challenge:

 (Hex string goes here) 

 Key challenge finished.

 First challenge passed!

 Configuring PDE information...

 gpsOne initialized!

 GPSSec initialized (fix interval 1000), beginning initial position fix.

 oGPSSetDeviceParam( GPS_DEVICE_PARAM_GPS_START_FIX ) failed - 00000006

 Entering main GPSSec polling loop (event = C4D690CE)...

 oGPSGetPosition failed - 2000010d

 Device context is stale, re-creating...

 SecurityChallengeThread exiting

 Creating new device context...

 Security challenge thread failed to exchange initial challenge.

 InitializeSecurity() failed

 Failed to reinitialize device context.

 SecurityChallengeThread exiting

 Creating new device context...

 Security challenge thread failed to exchange initial challenge.

 InitializeSecurity() failed

 Failed to reinitialize device context.

 SecurityChallengeThread exiting

 Creating new device context...

 Security challenge thread failed to exchange initial challenge.

 InitializeSecurity() failed

 Failed to reinitialize device context.

 SecurityChallengeThread exiting

 Creating new device context...

 Security challenge thread failed to exchange initial challenge.

 InitializeSecurity() failed

 Failed to reinitialize device context.

 SecurityChallengeThread exiting

 Creating new device context...

 Security challenge thread failed to exchange initial challenge.

 InitializeSecurity() failed

 Failed to reinitialize device context.

 SecurityChallengeThread exiting

 Creating new device context...

 Security challenge thread failed to exchange initial challenge.

 InitializeSecurity() failed

 Failed to reinitialize device context.

 SecurityChallengeThread exiting

 Server exiting due to timeout.

 Server finished shutting down.

It looks like GPSServer is successfully unlocking/handshaking with the hardware, but then has issues getting a position report - GRRRR!

Edited by M Moogle
Link to comment
Share on other sites

OK, I'm SOOOOOOOOO close I can taste it - I've gotten Google Maps to successfully talk to the GPSServer application, have the GPSServer application establish a connection with the GPS hardware, talk to the AGPS servers and then... it dies :rolleyes:

Could it have anything to do with not having the right registry settings for the AGPS server?

for example:

a setting for "ServerAddress"="test.agps.com:7275" under HKEY_LOCAL_MACHINE\Software\Samsung\RIL\GPS

or whatever the server address for verizon is?

Could you post the oemgpsone.dll file you extracted?

Edited by dhoppy
Link to comment
Share on other sites

Guest M Moogle
Could it have anything to do with not having the right registry settings for the AGPS server?

for example:

a setting for "ServerAddress"="test.agps.com:7275" under HKEY_LOCAL_MACHINE\Software\Samsung\RIL\GPS

or whatever the server address for verizon is?

Could you post the oemgpsone.dll file you extracted?

The only thing I have under that key is "Running" which is set to 0. I believe it gets set to 1 when the GPS is in use.

I've attached the GPSServer files I'm currently using. The files are extracted versions from the Omnia rom where applicable - the oemgpsone.dll is modifed to refrence stdgps.dll, and the oemgpsoneomnia.dll is the unmodified version.

Edit: Removed attachment

Edited by M Moogle
Link to comment
Share on other sites

Guest M Moogle

EDIT:

THIS DOESN'T SEEM TO BE REPRODUCIBLE RELIABLY AT ALL - PLEASE DON'T BOTHER UNLESS YOU WANT TO TRY FIXING IT

Holy crap, its working!

I fired up Google Maps, then fired up the GPSTest program. Once it locked and started giving coordinates, I quickly switched back to Google Maps, picked "Use GPS", and it worked!

Now, its not exactly an easy way to make it work, and its probably going to be a pain in the ass to reproduce, but it works! Theres just something slightly screwy with the GPSServer application that hopefully somebody (or skywing) can figure out.

It works!

Edit:

Live Search is working too!

Double Edit:

This is with the modified GPSServer files I attached above.

Edited by M Moogle
Link to comment
Share on other sites

edit: did you place gpsapi.dll in the google folder, or windows?

I got gpstest to work, but once I load google maps its seeking gps satellites and nothing happens...any suggestions?

Link to comment
Share on other sites

Guest M Moogle
edit: did you place gpsapi.dll in the google folder, or windows?

I put the oemgpsone.dll, stdgps.dll, and gpsapi.dll in \Windows

I'm sorta afraid to quit out of Google Maps now.. I don't want to loose my GPS connection, heh.

Link to comment
Share on other sites

I put the oemgpsone.dll, stdgps.dll, and gpsapi.dll in \Windows

I'm sorta afraid to quit out of Google Maps now.. I don't want to loose my GPS connection, heh.

dude u rock!!!

:rolleyes:

u have to replicate it...come on man!

then give us a simple step by step.

you got my money if you do!

Link to comment
Share on other sites

Ok, so heres exactly where I'm at:

1) Download the modified GPSServer files I attached a few posts prior

2) Extract GPSServer.exe, oemgpsOne.dll, stdgps.dll into \Program Files\GPSServer in main memory

3) Copy gpsapi.dll, stdgps.dll, oemgpsOne.dll into \Windows, overwriting the XIP rom files

4) Soft reset

5) Dismiss the obnoxious unsigned-dlls-and-programs dialogs

6) Fire up Google Maps

7) Check Use GPS, wait 10 seconds or so, and it should work! (make sure that youre using the Windows managed GPS device, no COM ports)

Now, I did the following once but I don't think its necessary, since I can reuse the GPS after a soft-reset:

When I had Google Maps open, I opened up GPSTest - when that was done finding my location I switched back to Google Maps and then picked the "use gps" option. Then I got my location. But I'm thinking this step isn't necessary since I haven't had to do it ever again and I don't have to after a soft-reset. I haven't tried a Hard-Reset yet as I don't want to re-setup everything.

Everything doesn't seem 100% stable yet as occasionally Google Maps/Live Search will refuse to initialize the GPS and I have to soft-reset to get it going again, but once I do it works again right away.

sounds like this will work!

too late..i`ll try tomorrow.

what is your paypal info!

you need dinner and a drink! :rolleyes:

Link to comment
Share on other sites

Guest krelvinaz

I was going to give this a try, but your instructions don't seem to match the actual filenames you posted.

Are you using all of the files or just some of them?

The files found in the RAR file were.

gpsapi.dll - Used in Windows directory

gpssrv.exe - Is this supposed to be GPSServer.exe in GPSServer dir

oemgpsOne.dll - Used in Windows directory

oemgpsOneOmnia.dll - Not used??

stdgps.dll - Used in both GPSServer and Windows directory

Like:

\Program Files\GPSServer

	gpssrv.exe

	oemgpsOne.dll

	stdgps.dll


\Windows

	gpsapi.dll

	stdgps.dll

	oemgpsOne.dll

Edited by krelvinaz
Link to comment
Share on other sites

Guest M Moogle
I was going to give this a try, but your instructions don't seem to match the actual filenames you posted.

Are you using all of the files or just some of them?

The files found in the RAR file were.

gpsapi.dll - Used in Windows directory

gpssrv.exe - Is this supposed to be GPSServer.exe in GPSServer dir

oemgpsOne.dll - Used in Windows directory

oemgpsOneOmnia.dll - Not used??

stdgps.dll - Used in both GPSServer and Windows directory

Like:

\Program Files\GPSServer

	 gpssrv.exe

	 oemgpsOne.dll

	 stdgps.dll


 \Windows

	 gpsapi.dll

	 stdgps.dll

	 oemgpsOne.dll

You have it right in your directory structure. The oemgpsOneOmnia is just the original non-edited file and can be ignored. The .dll files probably only need to be in one place but I wasn't sure, so I used both just to be safe.

I'm off to bed now. Hopefully when I wake up others will have had success!

Edited by M Moogle
Link to comment
Share on other sites

Guest bwonish
You have it right in your directory structure. The oemgpsOneOmnia is just the original non-edited file and can be ignored. The .dll files probably only need to be in one place but I wasn't sure, so I used both just to be safe.

I'm off to bed now. Hopefully when I wake up others will have had success!

Do we create the Program Files\GPSServer folder? it does not currently show on my folder list.

Also, is there an easy trick to overwriting the files in the \Windows folder, i am getting an error message that says i cannot overwrite the files...(update using the TotalCommander file manager, i was able to overwrite the files)....but i am not locking onto the sats with GoogleMaps or Live (i am finding them with the GPS test program).

Edited by bwonish
Link to comment
Share on other sites

Guest krelvinaz

I've done this a couple times but it has not yet worked.

I only got the errors listed in #5 once though. I don't get them anymore.

I am still checking.

As for overwritting the Windows files, I put the files into a zip file and extracted them with Resco Explorer into the \Windows directory

Edited by krelvinaz
Link to comment
Share on other sites

Guest krelvinaz

Well I've tried this now a couple times. I think there is something missing.

In all the times that I've tried it, only once did I get errors (Step #5) about the DLL's. I got it when I entered Google Maps and I got it again when I selected Use GPS.

I can get GPStest to work, but I never get the switch to Google Maps to work, nor after soft reset did Google maps ever see any Sat's.

Will check in the morning.

Link to comment
Share on other sites

Guest paradizelost

I'm trying a hard reset and to install it without having installed VZNavigator. If it's like it was on my 6800, the dll's should copy to your google maps program directory, and the rest to \program files\gpsserver and all should work, but i'll update once i know for sure.

Thanks!

Link to comment
Share on other sites

Guest paradizelost

Well, i'm having no luck here with the .rar posted earlier. Would one of you who got it working mind doing a hard reset, and writing step-by-step instructions on what you do to get it working? i just want to make sure there isn't something else causing it to work we need to do as well.

Thanks!

Link to comment
Share on other sites

Guest krelvinaz

I had the same result (not working).

I have been comparing what he posted to here: Disabling Verizon Stupid GPS Lock

In there they had an additional step:

3. Copy gpsapi.dll into the directory where your GPS program resides. For example, "\Program Files\GoogleMaps".

or in my case \My Storage\Program Files\GoogleMaps

However it still doesn't work.

They also have a bunch of registry settings. I've not looked at those yet.

Edited by krelvinaz
Link to comment
Share on other sites

Guest proimageprints

:rolleyes: I was able to get a fix using M Moogle's fix and using Google Maps!! Fix is spotty and comes and goes, but is a VERY promising advancement!! I had a lock on a total of 12 sats at one time..

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.