This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Problem with the GPS example and SUPL client

We still have some Problems to use the Supl client Library, to test it we use the normal GPS example and seems like the connection is available with NB-Iot settings. We are in the DE network of the Telekom. The Supl client is creating the session send Bytes and get some Bytes back but then we get a UPL ossDecode fail with "SUPL error 1". Is there somewhere who test it already in DE and get it to work?

the log is the following:

2020-05-02T18:12:49.061Z DEBUG modem << Staring GPS application\x0D\x0A
2020-05-02T18:12:49.078Z DEBUG modem << GPS Socket created\x0D\x0A
2020-05-02T18:12:49.091Z DEBUG modem << Getting GPS data...\x0D\x0A
2020-05-02T18:12:49.107Z DEBUG modem << \x1B[1;1H\x1B[2JNew AGPS data requested, contacting SUPL server, flags 59\x0D\x0A
2020-05-02T18:12:49.141Z DEBUG modem << Established LTE link\x0D\x0A
2020-05-02T18:13:08.383Z DEBUG modem << ip 4a7d:8cc0:: (c08c7d4a) port 7275\x0D\x0A
2020-05-02T18:13:08.938Z DEBUG modem << Starting SUPL session\x0D\x0D\x0A
2020-05-02T18:13:13.948Z DEBUG modem << ULP encoding length: 38\x0D\x0A
2020-05-02T18:13:13.961Z DEBUG modem << Bytes sent: 38\x0D\x0A
2020-05-02T18:13:14.764Z DEBUG modem << Bytes received: 7\x0D\x0A
2020-05-02T18:13:14.777Z DEBUG modem << ULP ossDecode fail 5\x0D\x0A
2020-05-02T18:13:14.778Z DEBUG modem << SUPL error: 1\x0D\x0A
2020-05-02T18:13:14.779Z DEBUG modem << ULP encoding length: 18\x0D\x0A
2020-05-02T18:13:14.779Z DEBUG modem << Bytes sent: 18\x0D\x0A
2020-05-02T18:13:14.779Z DEBUG modem << SUPL session internal resources released\x0D\x0A
2020-05-02T18:13:14.780Z DEBUG modem << Done\x0D\x0A

  • Hi THM,

    Since you are in Germany you most likely need to use legacy PCO.

    Please try to add the following two lines in the sample and re-test to see if it now works: (also changed the xsystemmode to nb-iot as you see)

    #define AT_XSYSTEMMODE      "AT\%XSYSTEMMODE=0,1,1,0"       //notice the change
    #define AT_XEPCO			"AT%XEPCO=0"                    //add this
    #define AT_ACTIVATE_GPS     "AT+CFUN=31"
    #define AT_ACTIVATE_LTE     "AT+CFUN=21"
    #define AT_DEACTIVATE_LTE   "AT+CFUN=20"
    
    #define GNSS_INIT_AND_START 1
    #define GNSS_STOP           2
    #define GNSS_RESTART        3
    
    #define AT_CMD_SIZE(x) (sizeof(x) - 1)
    
    
    #ifdef CONFIG_BOARD_NRF9160_PCA10090NS
    #define AT_MAGPIO      "AT\%XMAGPIO=1,0,0,1,1,1574,1577"
    #define AT_COEX0       "AT\%XCOEX0=1,1,1570,1580"
    #endif
    
    static const char     update_indicator[] = {'\\', '|', '/', '-'};
    static const char     at_commands[][31]  = {
    				AT_XSYSTEMMODE,
    				AT_XEPCO,                           //add this
    #ifdef CONFIG_BOARD_NRF9160_PCA10090NS
    				AT_MAGPIO,
    				AT_COEX0,
    #endif

    Best regards,

    Martin L.

Related