NMEA read driver miss interrupt


#1

Hi All,

I am working on legato 16.10 and getting NMEA read driver miss interrupt, abandon current buff, what is the problem here and how to fix it?

Thanks in advance


#2

Can you share more information on which module you are using and which application you are testing?


#3

I am facing a similar issue.
le_result_t result;
int32_t latitude;
int32_t longitude;

le_posCtrl_ActivationRef_t posCtrlRef = le_posCtrl_Request();
if (!posCtrlRef)
{
    LE_ERROR("Can't activate the Positioning service");
    exit(1);
}

LE_INFO("CHECKING 2D POSITION");
while(true){
    result = le_pos_Get2DLocation(&latitude, &longitude, NULL);
    if (result == LE_OK){
        LE_INFO("OK");
        break;
    }
    else{
        LE_INFO("Somthing went wrong... Result = %d", result);
        sleep(3);
    }
}
LE_INFO("Lat = %d \tLong = %d",latitude, longitude);

This is the logread output

Jan  6 00:35:18 swi-mdm9x15 user.info Legato:  INFO | supervisor[4969]/supervisor T=main | proc.c proc_Start() 1354 | Execing 'gpstest'
Jan  6 00:35:18 swi-mdm9x15 authpriv.info dropbear[4941]: Exit (root): Disconnect received
Jan  6 00:35:18 swi-mdm9x15 user.info Legato:  INFO | posDaemon[774]/le_pa_gnss T=main | pa_gnss_qmi.c pa_gnss_Start() 3320 | EngineState ON
Jan  6 00:35:18 swi-mdm9x15 user.info Legato:  INFO | gpstest[4969]/gpstestComp T=main | gpsComp.c _gpstestComp_COMPONENT_INIT() 36 | CHECKING 2D POSITION
Jan  6 00:35:18 swi-mdm9x15 user.info Legato:  INFO | gpstest[4969]/gpstestComp T=main | gpsComp.c _gpstestComp_COMPONENT_INIT() 44 | Somthing went wrong... Result = -3
Jan  6 00:35:19 swi-mdm9x15 user.info Legato:  INFO | avcDaemon[1056]/avcDaemon T=main | assetData.c RegUpdateTimerHandler() 3262 | RegUpdate timer expired; reporting REG_UPDATE
Jan  6 00:35:19 swi-mdm9x15 user.err Legato: =ERR= | avcDaemon[1056]/avcDaemon T=main | assetData.c assetData_RegistrationUpdate() 1946 | unsupported function called.
Jan  6 00:35:21 swi-mdm9x15 user.info Legato:  INFO | gpstest[4969]/gpstestComp T=main | gpsComp.c _gpstestComp_COMPONENT_INIT() 40 | OK
Jan  6 00:35:21 swi-mdm9x15 user.info Legato:  INFO | gpstest[4969]/gpstestComp T=main | gpsComp.c _gpstestComp_COMPONENT_INIT() 48 | Lat = 0 	Long = 0
Jan  6 00:35:22 swi-mdm9x15 user.debug kernel: [ 2113.101602] NMEA read driver miss interrupt, abandon current buff
Jan  6 00:36:11 swi-mdm9x15 user.debug kernel: [ 2162.100503] NMEA read driver miss interrupt, abandon current buff
Jan  6 00:37:00 swi-mdm9x15 user.debug kernel: [ 2211.099679] NMEA read driver miss interrupt, abandon current buff
Jan  6 00:37:50 swi-mdm9x15 user.debug kernel: [ 2261.096688] NMEA read driver miss interrupt, abandon current buff
Jan  6 00:38:29 swi-mdm9x15 user.debug kernel: [ 2300.096199] NMEA read driver miss interrupt, abandon current buff
Jan  6 00:39:08 swi-mdm9x15 user.debug kernel: [ 2339.095711] NMEA read driver miss interrupt, abandon current buff
Jan  6 00:39:33 swi-mdm9x15 user.warn Legato: -WRN- | posDaemon[774]/le_pa_gnss T=unknown | pa_gnss_qmi.c PositionHandler() 1359 | Bad position indication
Jan  6 00:39:33 swi-mdm9x15 user.warn Legato: -WRN- | posDaemon[774]/le_pa_gnss T=unknown | pa_gnss_qmi.c PositionHandler() 1359 | Bad position indication

any help would be much appreciated


#4

Hello @asifarshad, Can you share the following information?

  1. The module and legato version being used
  2. Are you able to see the NMEA data on /dev/nmea port ? (Ref: https://docs.legato.io/latest/toolsTarget_gnss.html)
    Check for the NMEA data on the NMEA port without executing the app using the following commands.
    gnss enable
    gnss start
    cat /dev/nmea
  3. Post the portion of code where the GNSS is enabled and started?
  4. Check with the latest version of legato?