yashsingh1/xdaforums huggingface dataset:
[Touch Pro, Fuze General] petard:
Did you ever try TomTom on the stock AT&T ROM and Radio? If you have lag there but none now, that would mean its a software issue. If you don't have lag there, it is a hardware issue.
[Touch Pro, Fuze General] DSF:
Haven't watched the whole video

Man, the lag is still present on your fuze. See 2:41. I got that too on igo, sometimes I have to wait seconds for "updating" when changing the direction.

then Why only on corners/intersections happen that and otherwise is ok?

I think that there is a lag when changing directions. The direction isn't linear anymore, so the software/whatever must recalculate its interpolation

Try an route SIMULATION and you'll see that will be better when changing directions.

On linear routes (constant speed) the delay is not noticeable, because the software can interpolate position based on many variables (don't know all the involved variable, i'm not an expert nor a gps user). But if you have to change directions.. you can see the 'effect' in Sleuth255's video.
[Touch Pro, Fuze General] Sleuth255:
@X2D:

The raw interface (COM4) is completely virtual. The higher the baudrate setting, the faster the navigation software can pull nmea data out of the buffer defined by maxbuffersize in the multiplexer key. We want the navigation software to be waiting on the com port for more data so it is getting position info as its being presented by the GPSOne chip.

The current working theory I've got going is that if the setting is too low then it'll buffer up and you'll get lag/dropped data.
[Touch Pro, Fuze General] Sleuth255:
@DSF: actually, that's speed lag causing the effect. To see position lag, watch the cross streets scrolling by on both devices while I'm travelling at a constant rate. The "high speed run" at the end of the video is a good place to start.

It's within GPS position tolerances because both devices are in lock-step in this respect. Use me saying "mark" to help confirm this. This is especially easy to see on the last time I say "mark" near the end of the clip. You'll actually see the intersection streetlight reflection flash on both devices at the precise time I say mark and they will both show the position going by the cross street I name.

It won't be "perfect" through the entire video because GPS DIOP (accuracy) is 1-3 meters.
[Touch Pro, Fuze General] Sleuth255:
What causes the variance at 2:41 on the clip

TomTom uses three things to show your positon on the map:

your speed from the $GPVTG sentence

your position from the $GPGGA sentence

"sticky" roads

When I made the right turn on Davidson, $GPVTG showed my heading and speed that was different from my $GPGGA position. This was due to speed lag expressed in the $GPVTG sentence. TomTom's algorithm has to use speed/heading info as well as position info because position precision is constantly changing due to signal. That's the "Dilution of Position" info.

So, I turn onto Davidson but heading/speed from $GPVTG shows me still going west on Greenfield for a while. What's a navigator to do when two sentences disagree? Exactly what you see in the clip: Eventually position data differences override speed/heading and I am "snapped" onto Davidson at the precise location that my Tilt shows me.

"Sticky" roads shows this same programming. Note how both devices run in lock step when I go "Field hopping" with the BMW (I'm on a new road that's not shown on the map). Each tries to keep me on the road then "snaps" me to the position when the difference finally gives it enough weight to make TomTom believe in it.
[Touch Pro, Fuze General] DSF:
I think even 9600 is enough. Will the buffer exceed 9600 bytes / sec in an optimized way?

@Sleuth255 yes, the position is pretty the same on both devices in linear (straight) direction. But when you have to change the direction.. fuze/touch pro is way bellow.

How is speed calculated? (coordinates prev - actual and consumed time between them?)

Edit: ok, we posted the same time :D. Thanks for the explanation.
[Touch Pro, Fuze General] Sleuth255:
Speed is calculated by the GPSOne chip by using a Doppler difference in satellite signals. I'm not knowledgeable on the specific way it accomplishes this. Both my tilt and my fuze have it though(watch the speed indicator on both devices on the clip when I stop). The fuze is more pronounced however.

That tracking artifact when turning onto a cross street may also be display related. TomTom has 4X as many pixels to update on my fuze. Hard to tell. I seem to remember that the 2:41 effect wasn't as pronounced when I tested TomTom v6. I'll have to re-test that. I also need to go driving with the current settings which have been purported to reduce speed lag.
[Touch Pro, Fuze General] DSF:
Why don't you try a route simulation? I'm waiting for the results :D.

I've tried on igo and routes simulation are ok (not perfect smooth, maybe due poor graphics drivers or software.. but it's definitely better than 'real-time routes')
[Touch Pro, Fuze General] X2D:
ok so the cab posted above or setting baud rate higher seemed to lessen the position lag somewhat so thanks going to test more
[Touch Pro, Fuze General] Sleuth255:
Ok, good point. Its probably due to the greater speed lag issue on the fuze then.
[Touch Pro, Fuze General] noellenchris:
HKLM\Drivers\USB\FunctionDrivers\Serial_Class\Config

does "EnableFlowHard" & "EnableFlowSoft" work just like modems? If so, both were set to 0. I changed the Hard to 1. Who knows if it actually is doing anything for me or not.

I was using:

HKLM\System\CurrentControlSet\GPS Intermediate Driver\Multiplexer

MaxBufferSize = 256 (I changed this for my next test to 128)

HKLM\System\CurrentControlSet\GPS Intermediate Driver\Drivers

InputBufferSize = 256

OutputBufferSize = 128

SleepOnNoData = 1000

HKLM\System\CurrentControlSet\GPS Intermediate Driver\Drivers\GPSOneDevice

PollInterval = 250

My Log files are set to 0.

My Performance settings are:

File sys cache = enabled

File sys cache size = Auto (going to change to 8mb)

File sys filter cache = disabled (going to change to 131072)

Glyph cache = 32KB (going to change to 128kb)

Will test again with TT7 using internal GPS tommorow.

Finally making some progress:)
[Touch Pro, Fuze General] Sleuth255:
We've not found any evidence that InputBufferSize and OutputBufferSize in the Drivers key is used by the GPSID. Da_G noticed this first and I can confirm that I didn't see them when I had the driver disassembled in IDA. MSDN doesn't mention these values here either. Nevertheless, they persist not only as OEM settings in my fuze, but they're in my Kaiser as well. Maybe something other than the GPSID uses them. FWIW, my Fuze is set to 128 for both of these.

To me, the key values seem to be MaxBufferSize in Multiplexer along with PollInterval in GPSOneDevice. Mine are 256 and 200 respectively.
[Touch Pro, Fuze General] Da_G:
Run RegLogger when you open up a GPS connection (love this program :))

You'll see the GPSID access those values, but not under this key where all the ROM's have it by default:

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Drivers]

Instead it looks under this key:

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Drivers\GPSOneDevice]

and reads those values. this is the microsoft standard as per this page.

Our GPSID is using the POLL interface rather than COMM, so it's not even supposed to be utilizing those keys. (they are only used for the COMM interface) - nonetheless, the GPSID can clearly be seen reading these keys by reglogger. However, again, they are not read from the location the tweaks recommend you set it.
[Touch Pro, Fuze General] Sleuth255:
That would explain why I didn't see them referenced for the Drivers key. Maybe something else besides GPSID references them.
[Touch Pro, Fuze General] Da_G:
Take a look at offset C18 in a hex editor (gpsid_htc 2.03 from diamond rom)
[Touch Pro, Fuze General] mindfrost82:
Any idea about the settings under Multiplexer\ActiveDevice?

I have:

Context = 305414496

Dll = GPSID_HTC.dll

Flags = 2

Index = 4

Keep = 1

Prefix = COM
[Touch Pro, Fuze General] mindfrost82:
@Sleuth: After installing your cab and shutting off my phone I was able to lock onto 7 sats in my living room within about 15 seconds.

I did change my Multiplexer Buffer to 128.

I've never been able to get a lock indoors with my Fuze (but I usually could with my Tilt).
[Touch Pro, Fuze General] Sleuth255:
@Da_G: Yes they are there. Sorry that I wasn't being clear. I was looking for value references under Drivers in IDA and I didn't see them.

I guess my point was not that GPSID uses these values in GPSOneDevice, but rather that something else may use values having the same names in Drivers. It seems odd to me that the error would persist through two generations of hardware...
[Touch Pro, Fuze General] Sleuth255:
It's that blackstone radio. I'm seeing a whole different acquisition sequence in visualgpsce since I installed it. Much more like my Tilt in that it lights up slots for birds that are in the sky rather than always showing "16 visible" with 8 filled with random PRN's and the others empty like my fuze used to show.

Also: it appears that GPSID sets up those values itself in the ActiveDevice key.
[Touch Pro, Fuze General] mindfrost82:
Before installing your cab I never got a lock inside, even with the Blackstone radio.

Tried the new Xperia radio yet? I haven't, but I might.
[Touch Pro, Fuze General] Da_G:
Here's a link to the MSDN reference for that key. this page also has more info on those keys.

From what I know, flags = 2 tells WinMo to use LoadLibrary instead of LoadDriver, which means the code can be paged out when not in use. That shouldn't affect anything, but you can set flags = 0 to disable that behavior.

Keep = 1 tells the system not to unload the dll. Prefix COM and Index 4 means to expose the device as COM4:, and DLL=gpsid_htc.dll tells the system which dll provides the multiplexer service.

The Context value gets passed along to the intialization routine of GPSID_HTC.dll, but I don't know what it does with it.

Sleuth: Surprising, yes, out of the ordinary, not so much, I think.. i've fixed quite a few typos in HTC's packages.. there's one that persists through the newest version even now for example, HTC Streaming Media references the following key:

[HKEY_LOCAL_MACHINE\System\Inbox\SICInt\SIPProtocols]
"rtsp"=dword:00000000

There's a typo in \Inbox\SICInt\, it should be \Inbox\SIClnt (that's an ell not an eye), so the registry entry has no effect as-is.

I can think of at least 10 similar registry errors i've fixed..

So, I wouldn't be terribly surprised if it wasn't read somewhere else. I do however know an easy way to find out.. EMEditor's awesome search-in-files function can search UTF-16, so it should be a matter of seconds to answer that question.. /me searches.

aaand that's a no. The only file in \OEM that references this key is GPSID_HTC.dll. So I feel pretty confident in saying that it's a persistant registry error in HTC's platform builder template..
[Touch Pro, Fuze General] X2D:
I have to security unlock my phone to get the blackstone radio right? :(
[Touch Pro, Fuze General] mindfrost82:
Yup, you do, but its been worth it for me because I've loved the call quality of the Blackstone radios compared to the Raphael radios I've tried.
[Touch Pro, Fuze General] noellenchris:
Yes , you have to security unlock first.. I did it yesterday and I'm unlocked..works nice
[Touch Pro, Fuze General] Sleuth255:
@X2D: yes :(.

@Da_G: that settles that one then. I'll let someone else play with them in GPSOneDevice (although they shouldn't have an effect on POLL interfaces anyway)
[Touch Pro, Fuze General] Sleuth255:
I noticed that myself!
[Touch Pro, Fuze General] noellenchris:
Man, I've never noticed any difference in battery life with radios on my previous phones...but I'll add that the BS radio is noticeably better. This one is like the energizer bunny...lol
[Touch Pro, Fuze General] Sleuth255:
hmmm... maybe some combination of both then. I have so many tweaks in the GPSID key that I can't remember them all :rolleyes: I'm gonna stick that cab into my UC I think.

edit: all joking aside, I wouldn't recommend anyone putting that cab into UC. It's for debugging only and has device specific information that could very well break the GPS settings on another device or even a subsequent generation of ROMs for this one.
[Touch Pro, Fuze General] mindfrost82:
Well next time I go driving I'll test all my lags and see what happens :)
[Touch Pro, Fuze General] Da_G:
Has anyone tried just nuking the HTC GPSID and using the Microsoft GPSID?

I know I personally haven't, but i'm thinking it's a logical next step to eliminating gpsid_htc.dll as a source of lag.. if no one's tried it i'll whip up a rom right quick.
[Touch Pro, Fuze General] Sleuth255:
I was going to throw in the one from my Tilt for testing but I can't reproduce position lag on my device.
[Touch Pro, Fuze General] Da_G:
OK, I think we need to step beyond casual testing at this point, then.

I'll cook up a ROM with the bare neccessities to get GPS working (gpsdriver.dll, microsoft gpsid, no agps or quickgps)

I'll follow the microsoft guidelines for setting up the poll interface, with no extra keys.

Assuming it works, that should at least help to eliminate some variables in the equation, here.
[Touch Pro, Fuze General] Sleuth255:
Do you have position lag currently Da_G?
[Touch Pro, Fuze General] X2D:
Salt in the wound.. but thanks for the help I wanna do everything I can to test the crap out of this GPS until we find something out. New ROM = fail, still broken using it for tomorrow to do one more test before switching back to Da_G's but I might try the stock AT&T Radio again just for s&g's.
[Touch Pro, Fuze General] Sleuth255:
Salt was unintentional. Only trying to say that its hard to fix something when I can't reproduce the problem. Maybe more GPS satellites fly by Milwaukee WI than by everywhere else.

Too bad that nobody with position lag issues has posted a reg file containing their GPSID keys...
[Touch Pro, Fuze General] Da_G:
Yes, I have both "Position Lag" and "Speed Lag"

It seems to vary quite a bit. Sometimes a soft reset will clear it right up immediately..

Sometimes it goes away, sometimes it comes back real quickly. Even without changing anything at all, which makes it quite difficult to diagnose reliably..

What I really want is one of the GPS signal generators they use to test these devices. It creates a fake 'sky' with fake sats and everything, you can have it report any position/time you like.. that would be perfect to debug something like this. Too bad i'm sure it costs more than my house.. lol

Prepping to flash the gpsid-neutered rom now. Let's see if microsoft's gpsid performs any better.. if it works!
[Touch Pro, Fuze General] Sleuth255:
Well, if position lag is caused by nmea sentence buffering then the GPSID should be the responsible bugger. We could also try the simple RIL shim that was written for hermes. It sends AT@StartGPS when its com port is opened and AT@StopGPS when the port is closed. In between it streams NMEA sentences that it receives. Pretty simple.

If anyone wants to play with it, here's the link to that development thread:

Hermes GPS Driver
[Touch Pro, Fuze General] Da_G:
Ok, preliminary testing:

HTC GPS Tool doesn't seem to work at all with the microsoft supplied GPSID.

I've got GPS Test loaded trying to get a fix, but without QuickGPS I think it's going to take forever in this room.. it's at least showing sats and whatnot so that shows the microsoft supplied gpsid does work.
[Touch Pro, Fuze General] Ninja1:
GPSID Here

Sorry for the delay, I am trying to get Win7 to install on a couple of boxes. Here is my reg file, using latest DaG ROM with iGuidance and I have both position and speed lag.

Currently running with the ROM defaults for all GPS related settings...hopefully this will help me determine what to tweak.
[Touch Pro, Fuze General] petard:
AT&T FUZE Stock ROM

2-4 seconds positional lag
[Touch Pro, Fuze General] Da_G:
OK, the ROM tests good, uploading it now.

What it is: 2.07-Pre version of my ROM, with everything possible stripped as far as GPS goes.

AGPS is disabled. Re-Aiding is disabled. GPSID_HTC.dll is removed and GPSID.dll from microsoft is used. So the only HTC code in play here is the RIL and gpsdriver.dll.

HTC GPS Tool doesn't work, but GPS Test 1.04 and google maps, etc all work fine.

Let's see where this takes us!
[Touch Pro, Fuze General] petard:
Sleuth, have you tried going back to a stock AT&T config to see if your FUZE has positional lag? I really appreciate all the work you guys are doing. I hope you are able to solve this. It is amazing how HTC continues to release such buggy hardware. I hope they get off of Qualcomm and start releasing good, working hardware soon.
[Touch Pro, Fuze General] Da_G:
Here's the link to the ROM with microsoft's GPSID:

http://rapidshare.com/files/181978641/2.07-pre-standalone-gps-mode.rar

Anyone interested in really getting this fixed, who has some time to spare, let's get some testing in with this ROM, so we can eliminate GPSID_HTC.dll as the source of the problem.. or heck, maybe the problem isn't even there in this ROM since we aren't using gpsid_htc.dll. Test, test, test! :)
[Touch Pro, Fuze General] Ninja1:
Rapidshare says that I have exceeded my limit, so I am gonna have to try this in the am (PST).
[Touch Pro, Fuze General] X2D:
Working on it! (joking about the salt, the help really is appreciated)

Could you attach the app or should I just do a handy dandy search =P~

Been working on work project haven't had time to do phone stuff. I used your CAB would that change my GPSID key?

Will download this tonight and give it a shot with TT7, iGO8, OCN8, Garmin XT
[Touch Pro, Fuze General] maw:
Okay.... I unlocked my device and flashed the BS radio .25 on it. I'm going to check if I get the same responses as you guys here!

Keeping my fingers crossed....
[Touch Pro, Fuze General] Sleuth255:
DotFred's Taskmanager is Here

Thx for the ROM Da_G; this'll really help eliminate or prove GPSID. What's in the GPSID keys for this version? (edit: never mind, I'll find out myself)

Ok, so who's planning on testing Da_G's MS_GPSID ROM besides X2D?

There's no warm start capabilities in this ROM so load up GPS Test or Visualgpsce, turn sleep mode off and leave it in a location that has a clear view of the sky. The first cold fix should take around 10 minutes. After that, you will be able to hot start. Satellite windows are a couple of hours which means that you have that much time between tests before you'll have to Cold Start again.
[Touch Pro, Fuze General] Sleuth255:
The two of you who uploaded GPSID keys all have a few things in common. I'm going to make a cab for you to try.

Edit: Here's the cab. Let me know if it affects your position lag.
[Touch Pro, Fuze General] maw:
I tested the BS radio.

First the GPS locked but then it was going off and on for a couple times. When it got a steady lock then it stayed locked. Did any of you have this the first time with the BS radio? I hope it stays locked now for good....

Second test I did I called I went outside and called the house phone. The sound quality was superb! No electric kind of static and crystal clear! Massive improvement here!

Now I'm going to see what it does with battery life.... I had very good battery life with the RAPH HTC radio .11.... I hope this one is indeed the energizer bunny! Will let you know more when in a couple hours.... or maybe in the morning.
[Touch Pro, Fuze General] Sleuth255:
The lock effect that you noted happens with mine too. It flips a few times before getting a solid lock. However the total time to a solid lock is so much less than with any other radio I tried that I have no issues with it.
[Touch Pro, Fuze General] maw:
Okay cool... still kinda weird though. Anyway, so far battery level dropped 2% with navigation software running 5 minutes and making 1 phone call of 2 minutes.
[Touch Pro, Fuze General] noellenchris:
I've been using that task manager for years since my Wizard! I love it. I just d/l the 3.1 version since mine was 2.9. It really does so much! :)
[Touch Pro, Fuze General] hopper13:
Under that key, I have only the following listings:

\ActiveDevice

+Add value+

DriverInterface

---------

I have no listing for a MaxBufferSize on my Fuze!
[Touch Pro, Fuze General] Sleuth255:
Yep, most people don't. Try the cab I attached to this post.

After installing, reset your handheld by powering off then back on. Do not just press the reset button. This will force a write-back of the registry changes and will also restart GPSID with the new settings.
[Touch Pro, Fuze General] hopper13:
Thanks. Doing a soft-reset BEFORE installing. I will install, power off and on, go for test ride and report back.

Prior to this, my position lag seems to run between 1.5 and 2.5 seconds depending upon conditions. My speed lag is generally up to 5 seconds and time to lock runs about 5 minutes after a reset with a fresh quickgps and then under 20 seconds for future TomTom 7.9 starts.
[Touch Pro, Fuze General] X2D:
I won't be able to test flashing results until after 4-5pm cst as soon as I go home I'm going to flash Da_G's latest with everything stripped and try it on a set of dif nav systems.

A) First test will be Da_G's newest stock nothing else

B) Second test will be with the additional Cab that you first posted (Sleuth)

Will try to expand the tests by including assisted GPS in the mix if his ROM allows me. The second cab you posted, what exactly does that change?
[Touch Pro, Fuze General] Sleuth255:
@hopper13: This cab is an attempt to lower position lag only. I don't think there's much that can be done for speed lag. Warm start times are dependent on the radio you are running and how you have Quick GPS/aGPS set.

If you are in the US, then I recommend these settings to minimize WarmStart times:

Turn aGPS off (in the system tab of settings).

Set QuickGPS to obtain updates automatically then have it download current data.

Flash the BlackStone radio (see my sig) if you can get security unlocked.

@X2D: the cab primarily plays with MaxBufferSize in Multiplexer, PollInterval in GPSOneDevice, and SleepOnNoData in Drivers. It also turns off logging. They are the settings I have on my Fuze.
[Touch Pro, Fuze General] aevh:
Also a BT GPS lags behind

Guys,

Just to let you know, I've got an Qstarz BT-1000, this used to work flawlessly with my Herald and Garmin XT.

Now using the Touch HD it also lags behind.

I was reading your tries to get GPS working better, also tried some of the tweaks and it worked a little bit better.

But seeing the things on the Qstarz, isn't it likely the problem is somewhere else than in the GPS stack?

Rom 1.14.404.3 (22273) NLD 10/25/08

Radio 1.09.25.14

Prot 52.494.25.26U

Just my 2c, Cheers,

Edward