[OnePlus 3T ROMs, Kernels, Recoveries, & Other Deve] endursa:
I have done some research regarding gps and have found the following informations:

our /system/etc/gps.conf is not ideally configured.

XTRA_SERVER_1=http://xtrapath1.izatcloud.net/xtra3grc.bin
XTRA_SERVER_2=http://xtrapath2.izatcloud.net/xtra3grc.bin
XTRA_SERVER_3=http://xtrapath3.izatcloud.net/xtra3grc.bin

needs to be

XTRA_SERVER_1=http[B]s[/B]://xtrapath1.izatcloud.net/xtra3grc.bin
XTRA_SERVER_2=http[B]s[/B]://xtrapath2.izatcloud.net/xtra3grc.bin
XTRA_SERVER_3=http[B]s[/B]://xtrapath3.izatcloud.net/xtra3grc.bin

this is just a security measure and does not really affect performance in any way. but using a ssl connection is always prefered! (note this only works for XTRAv3, Xtra1 and Xtra2 do not support ssl connection)

second change is regarding the NTP server:

default is set to

NTP_SERVER=time.izatcloud.net

I have found it is advised to change it to your location, since this can help get faster, more accurate time stamp information (more information on this here http://www.pool.ntp.org)

so I set it to

NTP_SERVER=europe.pool.ntp.org

next change is affecting the supported SUPL (Secure user plane location) protocol (some background info here: http://openmobilealliance.org/about-oma/work-program/location/)

original file:

SUPL_VER=0x10000

proposed change:

SUPL_VER=0x[B]2[/B]0000

the support for SUPL v2 is crucial since it enables LTE based protocol extensions as well as support for other positioning systems like GLONASS, in short galled GNSS, so restricting this to v1 is really hurting the performance.

The more detailed difference is in what protocols are supported: SUPLv1 (RRLP,RRC,TIA-801) vs SUPLv2 (RRLP, RRC, LPP, TIA-801)

RRLP: Resource Location Services Protocol via C-PLane

RRC: Radio Resource Control

LPP: LTE Positioning Protocol

TIA-801: 3GPP2-defined positioning protocol for the CDMA networks

more resources: http://gpsworld.com/wirelessexpert-advice-positioning-protocol-next-gen-cell-phones-11125/

Next change involves LLP_Profile

LPP_PROFILE = 2

change to

LPP_PROFILE = [B]1[/B] or [B]3[/B]

to explain that one has to understand the difference between user-plane and control-plane.

User-plane communication happens on the IP or packet based level (like any web based messaging, telegram, hangouts, whatsapp)

While control-plane based communication is done on a service message level (like sms).

from https://www.spirent.com/~/media/Whi...Test_Challenges_and_Solutions_White_Paper.pdf

essentially user plane is more powerful, more complex, thus can have also errors, control plane is less powerful, but a bit more reliable.

Best way to implement this would be to use user-plane as default and fall back to control plane as emergency in case of a no data connection.

therefore i would recommend to use

# 0: Enable RRLP on LTE(Default) [B]RRLP: Resource Location Services Protocol 2G[/B]
# 1: Enable LPP_User_Plane on LTE [B]LPP: LTE Positioning Protocol[/B]
# 2: Enable LPP_Control_Plane
# 3: Enable both LPP_User_Plane and LPP_Control_Plane

LPP_PROFILE = 3

Last part of the config file i like to discuss are the GLONASS settings.

# 0x1: RRC CPlane [B]RRC: Radio Resource Control 3G[/B]
# 0x2: RRLP UPlane [B]RRLP: Resource Location Services Protocol 2G[/B]
# 0x4: LLP Uplane LLP i think is a typo and/or means the same as LPP: LTE Positioning Protocol, correction maybe required.

A_GLONASS_POS_PROTOCOL_SELECT = 15

Unfortunately i could not find to much information on this config line. I can only assume that since this is a bit mask configuration the author ment to set it to 0xF to fully enable support for all modes. But that again does not make to much sense, since the 3 available configuration options amount to an all enable bit mask of 0x7. So therefore, my recommendation is to use either 0x1, 0x2, 0x3(0x1+0x2), 0x4, 0x6 (0x2+0x4) for individual settings, or the full enable bitmask 0x7 to have all 3 options.

I assume that this works then exactly as the options are numbered, LLP user-plane as default with fallbacks for 2g connections to RRLP user-plane, and further fall back to control-plane if no data connection is available.

Also setting a bitmask to a value greater than the full enable mask could potentially introduce security problems.

so this should be

A_GLONASS_POS_PROTOCOL_SELECT = 0x7

I can will of course give no 100% guarantee that all of the LTE modes are working for you as well so please try and play with the explained settings to find whats working for you!