Nexus 5 GPS does not work



  • Hi,

    I run Ubuntu touch on my Nexus5 for a while already. Great. However, I never got GPS working. I've tried the "wait 5-10 Minutes" method several times - no success. Here is what test_gps results in:

    phablet@ubuntu-phablet:~$ test_gps
    *** setup signal handler
    *** get gps interface
    *** device info
     id = gps
     name = loc_api GPS Module
     author = Qualcomm USA, Inc.
    *** init gps interface
     ** Creating thread: 'Loc_hal_worker' (start=0xb6a617c5, arg=0x16dac88)
     ** After thread_create: 'Loc_hal_worker', error=0 (start=0xb6a617c5, arg=0x16dac88)
     **** Thread wrapper start (start=0xb6a617c5, arg=0x16dac88) ****
    open: Unknown error -1226396600
    open: Unknown error -1226396600
     Diag_LSM_Init: Failed to open handle to diag driver, error = 2*** setting positioning mode
    *** start gps track
    *** gps tracking started
    *** tracking.... 
    *** set capabilities
    capability is 00000007
    *** tracking.... 
    *** tracking.... 
    *** tracking.... 
    

    tracking... repeats then without any other result. "open: Unknown error" looks very suspicious? 😲 ... Note that the error code is different in different runs. Google-ing did not lead to useful insights. Any idea?

    (Note: I already re-flashed radio to several version - no sucess. Latest try: radio-hammerhead-m8974a-2.0.50.2.30.img )

    Thanks! 😉



  • You need to run test_gps as root...



  • Thanks for this, I was not aware. However, also running test_gps as root does not lead to success:

    sudo test_gps 
    [sudo] password for phablet: 
    *** setup signal handler
    *** get gps interface
    *** device info
     id = gps
     name = loc_api GPS Module
     author = Qualcomm USA, Inc.
    *** init gps interface
     ** Creating thread: 'Loc_hal_worker' (start=0xb6a707c5, arg=0x18c6c88)
     ** After thread_create: 'Loc_hal_worker', error=0 (start=0xb6a707c5, arg=0x18c6c88)
    *** setting positioning mode
     **** Thread wrapper start (start=0xb6a707c5, arg=0x18c6c88) ****
     Diag_LSM_Init: Failed to open handle to diag driver, error = 2*** start gps track
    *** gps tracking started
    *** tracking.... 
    *** status callback
    *** session begin
    *** set capabilities
    capability is 00000007
    *** status callback
    *** engine on
    *** status callback
    *** session begin
    *** tracking.... 
    *** tracking.... 
    *** tracking.... 
    *** tracking.... 
    *** tracking.... 
    
    

    Still an error, any ideas?



  • @danlin said in Nexus 5 GPS does not work:

    I've tried the "wait 5-10 Minutes" method several times

    Were you careful to keep the phone unlocked during this step ?
    If the phone locks itself the GPS is turned off and you'll have to try again.



  • @danlin No it looks different on my device. I can check tomorrow. So its not that in general GPS does not work, it seems only to affect your device.



  • Thanks. I made some progress: After waiting a few minutes test_gps did something (and repeatetly does this now without delay):

    phablet@ubuntu-phablet:~$ sudo test_gps 
    [sudo] password for phablet: 
    *** setup signal handler
    *** get gps interface
    *** device info
     id = gps
     name = loc_api GPS Module
     author = Qualcomm USA, Inc.
    *** init gps interface
     ** Creating thread: 'Loc_hal_worker' (start=0xb6aec7c5, arg=0x55c88)
     ** After thread_create: 'Loc_hal_worker', error=0 (start=0xb6aec7c5, arg=0x55c88)
     **** Thread wrapper start (start=0xb6aec7c5, arg=0x55c88) ****
     Diag_LSM_Init: Failed to open handle to diag driver, error = 2*** setting positioning mode
    *** start gps track
    *** gps tracking started
    *** tracking.... 
    *** status callback
    *** session begin
    *** set capabilities
    capability is 00000007
    *** status callback
    *** engine on
    *** status callback
    *** session begin
    *** sv status
    sv_size:	0
    num_svs:	19
    	 azimuth:	246.000000
    	 elevation:	28.000000
    	 prn:	25
    	 size:	660
    	 snr:	19.100000
    	 azimuth:	0.000000
    	 elevation:	0.000000
    	 prn:	1
    	 size:	660
    	 snr:	0.000000
    	 azimuth:	129.000000
    	 elevation:	1.000000
    	 prn:	2
    	 size:	660
    	 snr:	0.000000
    	 azimuth:	101.000000
    	 elevation:	8.000000
    	 prn:	6
    	 size:	660
    	 snr:	0.000000
    	 azimuth:	274.000000
    	 elevation:	9.000000
    	 prn:	10
    	 size:	660
    	 snr:	0.000000
    	 azimuth:	243.000000
    	 elevation:	60.000000
    	 prn:	12
    	 size:	660
    	 snr:	0.000000
    	 azimuth:	0.000000
    	 elevation:	0.000000
    	 prn:	13
    	 size:	660
    	 snr:	0.000000
    	 azimuth:	324.000000
    	 elevation:	5.000000
    	 prn:	14
    	 size:	660
    	 snr:	0.000000
    	 azimuth:	180.000000
    	 elevation:	15.000000
    	 prn:	15
    	 size:	660
    	 snr:	0.000000
    	 azimuth:	84.000000
    	 elevation:	16.000000
    	 prn:	74
    	 size:	0
    	 snr:	0.000000
    	 azimuth:	277.000000
    	 elevation:	39.000000
    	 prn:	66
    	 size:	0
    	 snr:	0.000000
    	 azimuth:	157.000000
    	 elevation:	4.000000
    	 prn:	86
    	 size:	0
    	 snr:	0.000000
    	 azimuth:	0.000000
    	 elevation:	0.000000
    	 prn:	77
    	 size:	0
    	 snr:	0.000000
    	 azimuth:	291.000000
    	 elevation:	45.000000
    	 prn:	76
    	 size:	0
    	 snr:	0.000000
    	 azimuth:	42.000000
    	 elevation:	68.000000
    	 prn:	75
    	 size:	0
    	 snr:	0.000000
    	 azimuth:	212.000000
    	 elevation:	11.000000
    	 prn:	65
    	 size:	0
    	 snr:	0.000000
    	 azimuth:	39.000000
    	 elevation:	31.000000
    	 prn:	84
    	 size:	0
    	 snr:	0.000000
    	 azimuth:	112.000000
    	 elevation:	37.000000
    	 prn:	85
    	 size:	0
    	 snr:	0.000000
    	 azimuth:	334.000000
    	 elevation:	19.000000
    	 prn:	67
    	 size:	0
    	 snr:	0.000000
    *** nmea info
    timestamp:	312476364
    nmea (63): 	$GPGSV,3,1,09,25,28,246,19,01,00,000,,02,01,129,,06,08,101,*71
    *** nmea info
    timestamp:	312476364
    nmea (61): 	$GPGSV,3,2,09,10,09,274,,12,60,243,,13,00,000,,14,05,324,*7F
    *** nmea info
    timestamp:	312476365
    nmea (28): 	$GPGSV,3,3,09,15,15,180,*49
    *** nmea info
    timestamp:	312476365
    nmea (61): 	$GLGSV,3,1,10,74,16,084,,66,39,277,,86,04,157,,77,00,000,*6F
    *** nmea info
    timestamp:	312476365
    nmea (61): 	$GLGSV,3,2,10,76,45,291,,75,68,042,,65,11,212,,84,31,039,*63
    *** nmea info
    timestamp:	312476366
    nmea (39): 	$GLGSV,3,3,10,85,37,112,,67,19,334,*62
    *** sv status
    sv_size:	0
    num_svs:	21
    
    

    However, Mapping apps (uNav, google maps in morph) do not work. They do not find a position at all. I tried both with 20 minutes waiting time. Nothing happens. Both, uNav and morph, have permission to access gps.

    Any idea?
    Thanks!



  • If it's like the FP2, a lot of steps have to be carefully followed. Activate localization, cellular and wifi, plug in the charge cable. I use Pure maps, but I guess the same goes for the rest. Then, use UT tweak tool to prevent your navigating app from interrupting. Then make sure your display is set to never lock. Then start the app and launch a navigation query (on pure maps it displays a sort of wheel until it found the place you're looking for) . Put the phone to rest next to a window. Wait and pray the voodoo gods. It should take about half an hour, but it's very variable. Then, as soon as it's found, you're good to go. Never restart your phone, though, oor you have to start it all over again.I'd advise against using flight mode, too.



  • @danlin If you do not see longitude/latitude values in test_gps then you are not synced. Either bad reception, GPS antenna bad or you are indoor 😉



  • This information you are seeing means:

    num_svs: 21 => 21 satellites were seen so far

    prn: 75
    size: 0
    snr: 0.000000
    azimuth: 212.000000
    elevation: 11.000000 => position of the satellite. SNR is 0 means this entry is not valid

    To me it looks you have a very weak signal. You might never get a lock with this. So for me thats a hardware or location issue. Ubuntu Touch, as I said, is fine, on N5 as well as other devices, so we cannot do much for you 😉 - and it makes no sense to start an app when test_gps is failing...



  • @Flohack I tested indeed indoors - I'll check if outdoors works better.



  • @danlin said in Nexus 5 GPS does not work:

    I'll check if outdoors works better.

    Obviously it'll work better outdoor...



  • @danlin Ok how you would think that GPS works indoors? Just curious...



  • GPS satellites transmit low-power radio signals on two carrier frequencies designated as L1 and L2. The L1 carrier is 1575.42 MHz, and the L2 carrier is 1227.60 MHz in the ultrahigh frequency (UHF) band. GPS is a line-of-sight (LOS) system, and thus the signals can penetrate clouds, glass, and plastic but will not go through most solid objects, such as buildings and dense foliage.



  • @Flohack said in Nexus 5 GPS does not work:

    @danlin Ok how you would think that GPS works indoors? Just curious...

    Most people know very little about technics and sure he though that if mobile data works indoor then GPS would.



  • May be it is only the antenna like explained here:
    https://gabgagnon.ca/comment-regler-le-probleme-de-gps-du-nexus-5/


Log in to reply