Q2698 GPS no callbacks

Hi,

we have sort of an odd problem. On some of our Q2698 we never get a GPS Position.

When i investigated the problem, i found that after

gps_init(GPS_HWTYPE_GPSONE, gps_ev_hldr, NULL) return GPS_OK

there are no callbacks coming back. Usually i see some timers calling repeatatly for GPS.

At first i figured there must be aproblem in flash memory so i deleted all flash objects.

But the problem persists even after erasing all object in flash an reflashing the Q2698 with the Firmware and Bootloader below.

I wonder if SiWi knows of this issue and can offer a workaround.

Bootloader: Version SWI6200T_02.02.04.07ABT R2881 CNSZXD00000132; Build Date 2013/12/20 10:43:54
Firmware: Version R7.52.0.A1.201401021703; Build Date 010214 17:03; Checksum 0xAE3E7F98

Here is my GPS Code:

void InitGPS()
{
	gps_status_e ret =  gps_init(GPS_HWTYPE_GPSONE, gps_ev_hldr, NULL);
	trace_GPSError(ret);
}
void gps_ev_hldr(gps_event_e eEvent, void* pEventData)
{
	gps_status_e ret;
	switch(eEvent)
	{
		case GPS_INIT_EVENT:
			TRACE((TL_GPS, "GPS_INIT_EVENT"));
			ret = gps_start(GPS_HOT_START);
			trace_GPSError(ret);
			break;
		case GPS_INIT_ERROR_EVENT:
			TRACE((TL_GPS, "GPS_INIT_ERROR_EVENT"));
			gps_valid_fix = FALSE;
			break;
		case GPS_START_EVENT:
			TRACE((TL_GPS, "GPS_START_EVENT"));
			ret = gps_nmeaSetOpts(GPS_OPT_NMEA_HANDLER, nmeaHdlr, GPS_OPT_NMEA_LIST, GPS_NMEA_RMC_EN, GPS_OPT_END);
			trace_GPSError(ret);
			break;
		case GPS_START_ERROR_EVENT:
			TRACE((TL_GPS, "GPS_START_ERROR_EVENT"));
			gps_valid_fix = FALSE;
			break;
		case GPS_STOP_EVENT:
			TRACE((TL_GPS, "GPS_STOP_EVENT"));
			gps_valid_fix = FALSE;
			break;
		case GPS_STOP_ERROR_EVENT:
			TRACE((TL_GPS, "GPS_STOP_ERROR_EVENT"));
			gps_valid_fix = FALSE;
			break;
		case GPS_SLEEP_EVENT:
			TRACE((TL_GPS, "GPS_SLEEP_EVENT"));
			gps_valid_fix = FALSE;
			break;
		case GPS_SLEEP_ERROR_EVENT:
			TRACE((TL_GPS, "GPS_SLEEP_ERROR_EVENT"));
			gps_valid_fix = FALSE;
			break;
		case GPS_RELEASE_EVENT:
			TRACE((TL_GPS, "GPS_RELEASE_EVENT"));
			gps_valid_fix = FALSE;
			break;
		case GPS_RELEASE_ERROR_EVENT:
			TRACE((TL_GPS, "GPS_RELEASE_ERROR_EVENT"));
			gps_valid_fix = FALSE;
			break;
		case GPS_ERROR_EVENT:
			TRACE((TL_GPS, "GPS_ERROR_EVENT"));
			gps_valid_fix = FALSE;
			break;
		case GPS_ABORT_EVENT:
			TRACE((TL_GPS, "GPS_ABORT_EVENT"));
			gps_valid_fix = FALSE;
			break;
	}
}
void nmeaHdlr(u16 nmeaBufferSize,  ascii* pNmea)
{
	TRACE((TL_GPS, pNmea));
	char* posNL = strchr(pNmea, '\r');
	if (posNL != NULL)
	{
		*posNL = '\0';
	}
	strncpy(_Nmea, pNmea, sizeof(_Nmea));

	if (strstr(pNmea, ",V,") == NULL)
	{
		gps_valid_fix = TRUE;
	}
	else
	{
		gps_valid_fix = FALSE;
	}
}

Jurgen,

You have said on some of your units, implying that you have a number of others where the issue is not seen and the code is working perfectly?

Regards

Matt

Thank you for your reply.

Yes in fact i have 150 units here and confirmed the problem on 4 so far.

After i recieve the units from our distributor.

I first upgrade the firmware and bootloader using the Binary Update Tool R11.2.1105.0
Then i install my software.
Then the unit is testet and i can immediately see if there is a problem with GPS.

I sent 3 defective units back to our distributor, they send them back, but they are still broken.
I find it difficult to always reach for support from our distributor. All they can do is provide me an unpublished firmware but they have no understanding of the firmware itself.

I wish there would be more openeness on SiWi’s side regarding Firmware problems.

Jurgen,

Have they asked you take any log files? They will be sending you versions of 2.53 what WP have they sent you? The current one is 21 and should be available on an online repository (which I am trying to find at the moment).

This does not necessarily sound like a firmware or software issue since it works on the majority of units, it sounds more like a unit configuration issue which needs to be investigated by the engineering team i.e. you need to ask the distributor to raise a CRM ticket which will start this process off.

Regards

Matt

On some early versions of Q2698 and FX100 the GPS functionality in the location lib was locked. It had to be unlocked with the AT!OPENLOCK command. Could this be the case here? When I had the problem I only tested it with the extended AT application and then it was not possible to get a fix or even get any NMEA outputs.

Its possible but unlikely if these are production units, the early units you are talking about are quite old i.e. over a year ago and we are talking about production numbers here i.e. 4 out of 150, the implication is that these are quite recent.

Regards

Matt

Hi Matt,

i don’t know what WP stands for.

I tried the AT!OPENLOCK? and got B301D3F820DDFC1C.

Here is a image of the 3 units in question. (They dont get any NMEA messages at all) From their serial number they look old to me.

Here is what our distributor send us last month. I only tested one of these yet. It seemed fine.

One of the new batch. Serial number starts with 42

Jurgen,

WP stands for work pack, this is how we track our beta’s before we get to a commercial release, the current one is WP21.

Re the OPENLOCK command the seed that is returned is only valid for either the powered session or until you send OPENLOCK? again so is difficult to unlock the commands without live support since internal tools are used to generated a reciprocal code.

You could try sending the below command (not sure if they will work).

at!entercnd=“A710” //If you get an error to this then keep going
at!custom?
at!custom=“GPSENABLE”,1

Regards

Matt

Regards

Matt

at!entercnd=“A710”
14:27:50:257 - OK
14:27:58:120 -
at!custom?
14:27:58:339 - !CUSTOM:
14:27:58:339 - PUKPRMPT 0x01
14:27:58:339 - MEPCODE 0x01
14:27:58:339 - ISVOICEN 0x01
14:27:58:339 - STKUIEN 0x02
14:27:58:339 - PRLREGION 0x01
14:27:58:339 - PCSCDISABLE 0x03
14:27:58:339 - DISFDNPDPCHK 0x03
14:27:58:339 - HPPLMNSCDIS 0x01
14:27:58:339 - GPSENABLE 0x01
14:27:58:339 - SINGLEAPNSWITCH 0x02
14:27:58:339 - OATENABLE 0x01

14:27:58:339 - OK
14:28:09:384 -
at!custom=“GPSENABLE”,1
14:28:10:820 - OK

still no GPS

At the moment i think, that this is an issue with only the old batch SN

FH3210016304300
FH2480002404300
FH3210009008300
FH3210016704300
FH2480005904300
FH3210017203300
FH3210016601300
FH3210017506300
FH2480002503300
FH2480011707300
FH3210016901300
FH3210012304300

SN starting with FH42 seem ok.

Jurgen,

Looks like the GPS was enabled in firmware from the beginning, it really needs to be on someones bench and checked out to see why. Distributor needs to raise a CRM ticket and then have it sent back to the regional engineering centre for testing.

Regards

Matt

Thanks Matt i’ll try to get my distributor to do that.