BC660 takes a log time to enter Deep Sleep

Hi Quectel,

I am using the example_rtc.c module in BC660K-GL_QuecOpen_NB5_SDK_V1.0. I am trying to establish why the URC_ID_PS_BEARER_ACTED event takes about 15-20mins to get sent. I have added code to trap the other eventId that might come into the PsCallback(ENUMurcID eventId, void *param, u32 paramLen) function as shown below.

static s32 PsCallback(ENUMurcID eventId, void *param, u32 paramLen)
{
    ST_MSG msg;

    switch (eventId)
    {
    case URC_ID_PS_BEARER_ACTED:
        msg.message = MSG_ID_URC_INDICATION;
        msg.param1 = URC_EGPRS_NW_STATE_IND;
        osMessageQueuePut(maintask_queue, &msg, 0, 0);
        APP_DEBUG("BEARER_ACTED\r\n"); // param NULL
        break;

    case URC_ID_PS_BEARER_DEACTED:
        msg.message = MSG_ID_URC_INDICATION;
        msg.param1 = URC_EGPRS_NW_STATE_IND;
        osMessageQueuePut(maintask_queue, &msg, 0, 0);
        APP_DEBUG("BEARER_DEACTED\r\n"); // param NULL
        break;

    default:
        APP_DEBUG("PsCallback: eventId(%d)\r\n", eventId); // param NULL
        break;
    }
    return 0;
}

In the default branch I am getting eventId that is not listed in the ENUMurcID shown below. So where are these value coming from?
I am seeing PsCallback: eventId(16390) and PsCallback: eventId(16389).

typedef enum {
    URC_ID_START = 0,      //< URC event ID for command +CREG
    URC_GROUP_MM = (U_CAC_MM << 12),
    URC_ID_MM_SIGQ,
    URC_ID_MM_TAU_EXPIRED,
    URC_ID_MM_BLOCK_STATE_CHANGED,
    URC_ID_MM_CERES_CHANGED,
    URC_ID_MM_NITZ_REPORT,
    URC_GROUP_PS = (U_CAC_PS << 12),
    URC_ID_PS_BEARER_ACTED,
    URC_ID_PS_BEARER_DEACTED,
    URC_ID_PS_CEREG_CHANGED,
    URC_ID_PS_NETINFO,
    URC_GROUP_SIM = (U_CAC_SIM << 12),
    URC_ID_SIM_READY,      //< SIM card is ready
    URC_ID_SIM_REMOVED,    //< SIM card is removed
    URC_GROUP_DEV = (U_CAC_DEV << 12),
  

    URC_ID_END,            //< End of the URC event ID enumeration
} ENUMurcID;

Many thanks in advance.

Quectel_EPAT操作指导与参考(CN&EN)_BC260Y&BC660K&BC28F&BC95GF&BC300Y.pdf (2.1 MB)
I suggest you grab the debug log for analysis

Hi Herbert.pan-Q,

Thanks for the EPAT manual and the file link. My company does not allow running third party *.exe on our laptops.
What does the EPAT tool do? Is it just a serial UART application that receives ASCII data at 6MBaud and logs them to a file?
Or does the BC660 outputs binary and the EPAT translate to ASCII before logging?

Regards
Ola

I have manage to run EPAT. Please see attached logs.
20230106_125911.zip (23.5 MB)

I have the same issue, first bc660K takes too long to send PS events (BEARER’s ones), And keeps on sending SIM Ready events, even during module wake.
2nd I’m also receiving event 16389 (with 40 bytes length of binary data).
Upon investigating I found out, that CFUN execution results in event 16389 (Might be a coincidence). 2 types of the data stream are present in this event
1- 0x02, 0x01, 0x01, 0x00, 0x00, 0x09, ,
2- 0x00, 0x00, 0x01, 0x00, 0x00, 0x09, ,

I tried to correlate data with structs in ql_ps.h, but couldn’t find anything concrete.

My sdk version is 1.0 (not beta).

However, I’m also wondering why CEREG, CSCON, and IP events are not happening in the ps callback, even if they what would be the event id for CSCON & IP events?

If someone can really help on this please do so.

Hi quectel support,

Any update on the reported issue. This is slowing development down. I am sure that this is not an isolated incident as @BetaEngineer1992 is also reporting the same issue.

I attached a log using your EPAT application last week.

Regards
Ola

Can you describe in detail where this long period of not being able to access deepsleep began to be timed?

From press the reset button on the BC660 dev board.
Do you have any documentation that shows the sequence of messages that the BC660 sends out to the application on power up reset?

Quectel_BC660K-GL_Hardware_Design_V1.0.pdf (852.2 KB)

herbert.pan-Q,

Thanks for the document you sent. I already have this document as it is part of the SDK zip file that you sent me. What I am after is a software documentation that shows sequence diagram, flow chart or just a list of events that is sent by the RIL to the application.

What are the parameter that are passed with events that are sent by the RIL events etc…

Sorry, I am not good at dealing with the BC660K Open solution. If you are an enterprise user, please contact sales and suggest using ticket to solve the problem

Hi herbert.pan-Q.
Thanks I would try and find our if my company are enterprise users