BC660K PSM not working

I have 2 sets of code. One makes a simple MQTT connection and it is able to go into PSM mode Here is the output

b’at+cgmm\r\r\n’
b’Quectel_BC660K-GL\r\n’
b’\r\n’
b’OK\r\n’
b’at+cgdcont?\r\r\n’
b’+CGDCONT: 0,“IP”,“IOT.1NCE.NET”,“10.141.7.244”\r\n’
b’+CGDCONT: 1,“IPV4V6”,“IOT.1NCE.NET”\r\n’
b’\r\n’
b’OK\r\n’
b’at+cereg=1\r\r\n’
b’OK\r\n’
b’at+cereg?\r\r\n’
b’+CEREG: 1,5\r\n’
b’\r\n’
b’OK\r\n’
b’at+qsclk=0\r\r\n’
b’OK\r\n’
b’at+qccid\r\r\n’
b’+QCCID: 89882280666027595366\r\n’
b’\r\n’
b’OK\r\n’
b’at+cgsn=1\r\r\n’
b’+CGSN: 866207053437095\r\n’
b’\r\n’
b’OK\r\n’
b’at+cbc\r\r\n’
b’+CBC: 3380\r\n’
b’\r\n’
b’OK\r\n’
b’at+cclk?\r\r\n’
b’+CCLK: 24/02/24,01:43:50-20\r\n’
b’\r\n’
b’OK\r\n’
b’at+qledmode=0\r\r\n’
b’OK\r\n’
b’at+qnbiotevent=1,1\r\r\n’
b’OK\r\n’
b’at+cpsms=1,“00101100”,“00100001”\r\r\n’
b’OK\r\n’
b’\r\n’
b’+QNBIOTEVENT: “EXIT PSM”\r\n’
b’at+qmtopen=1,“54.196.22.131”,1883\r\r\n’
b’OK\r\n’
b’\r\n’
b’+QMTOPEN: 1,0\r\n’
b’at+qmtconn=1,“89882280666027595366”,“xxxx”,“xxxx”\r\r\n’
b’OK\r\n’
b’\r\n’
b’+QMTCONN: 1,0,0\r\n’
b’at+qmtpub=1,0,0,0,“device/state”\r\r\n’
b’>\r\n’
b’{“modem”: “Quectel_BC660K-GL”, “ccid”: “89882280666027595366”, “imei”: “866207053437095”, “alarm”: false, “temperature”: “20.02224”, “timestamp”: “24/02/24,01:43:50-20”, “volts”: “3380”}\r\n’
b’OK\r\n’
b’\r\n’
b’+QMTPUB: 1,0,0\r\n’
b’at+qmtclose=1\r\r\n’
b’OK\r\n’
b’\r\n’
b’+QMTCLOSE: 1,0\r\n’
b’at+qsclk=1\r\r\n’
b’OK\r\n’
b’\r\n’
b’+QNBIOTEVENT: “ENTER DEEPSLEEP”\r\n’
b’\r\n’
b’+QNBIOTEVENT: “EXIT DEEPSLEEP”\r\n’
b’\r\n’
b’+QNBIOTEVENT: “ENTER PSM”\r\n’

at this point I am in PSM mode.

I have other code that does the same thing but uses a cert. It never enters PSM completely

“b’at+cereg=1\r\r\n’”
“b’OK\r\n’”
“b’at+cereg?\r\r\n’”
“b’+CEREG: 1,5\r\n’”
“b’\r\n’”
“b’OK\r\n’”
“b’at+cgmm\r\r\n’”
“b’Quectel_BC660K-GL\r\n’”
“b’\r\n’”
“b’OK\r\n’”
“b’at+cgdcont?\r\r\n’”
“b’+CGDCONT: 0,“IP”,“IOT.1NCE.NET”,“10.141.7.244”\r\n’”
“b’+CGDCONT: 1,“IPV4V6”,“IOT.1NCE.NET”\r\n’”
“b’\r\n’”
“b’OK\r\n’”
“b’at+qsclk=0\r\r\n’”
“b’OK\r\n’”
“b’at+cclk?\r\r\n’”
“b’+CCLK: 24/02/24,02:18:26-20\r\n’”
“b’\r\n’”
“b’OK\r\n’”
“b’at+qccid\r\r\n’”
“b’+QCCID: 89882280666027595366\r\n’”
“b’\r\n’”
“b’OK\r\n’”
“b’at+cgsn=1\r\r\n’”
“b’+CGSN: 866207053437095\r\n’”
“b’\r\n’”
“b’OK\r\n’”
“b’at+cbc\r\r\n’”
“b’+CBC: 3380\r\n’”
“b’\r\n’”
“b’OK\r\n’”
“b’at+qledmode=0\r\r\n’”
“b’OK\r\n’”
“b’at+qnbiotevent=1,1\r\r\n’”
“b’OK\r\n’”
“b’at+cpsms=1,“00100010”,“00100001”\r\r\n’”
“b’OK\r\n’”
“b’at+qsslcfg=0,0,“sslversion”,3\r\r\n’”
“b’OK\r\n’”
“b’at+qsslcfg=0,0,“seclevel”,1\r\r\n’”
“b’OK\r\n’”
“b’at+qsslcfg=0,0,“cacert”\r\r\n’”
“b’>\r\n’”
“b’-----BEGIN CERTIFICATE-----\n’”
“b’MIIEAzCCAuugAwIBAgIUBY1hlCGvdj4NhBXkZ/uLUZNILAwwDQYJKoZIhvcNAQEL\n’”
“b’BQAwgZAxCzAJBgNVBAYTAkdCMRcwFQYDVQQIDA5Vbml0ZWQgS2luZ2RvbTEOMAwG\n’”
“b’A1UEBwwFRGVyYnkxEjAQBgNVBAoMCU1vc3F1aXR0bzELMAkGA1UECwwCQ0ExFjAU\n’”
“b’BgNVBAMMDW1vc3F1aXR0by5vcmcxHzAdBgkqhkiG9w0BCQEWEHJvZ2VyQGF0Y2hv\n’”
“b’by5vcmcwHhcNMjAwNjA5MTEwNjM5WhcNMzAwNjA3MTEwNjM5WjCBkDELMAkGA1UE\n’”
“b’BhMCR0IxFzAVBgNVBAgMDlVuaXRlZCBLaW5nZG9tMQ4wDAYDVQQHDAVEZXJieTES\n’”
“b’MBAGA1UECgwJTW9zcXVpdHRvMQswCQYDVQQLDAJDQTEWMBQGA1UEAwwNbW9zcXVp\n’”
“b’dHRvLm9yZzEfMB0GCSqGSIb3DQEJARYQcm9nZXJAYXRjaG9vLm9yZzCCASIwDQYJ\n’”
“b’KoZIhvcNAQEBBQADggEPADCCAQoCggEBAME0HKmIzfTOwkKLT3THHe+ObdizamPg\n’”
“b’UZmD64Tf3zJdNeYGYn4CEXbyP6fy3tWc8S2boW6dzrH8SdFf9uo320GJA9B7U1FW\n’”
“b’Te3xda/Lm3JFfaHjkWw7jBwcauQZjpGINHapHRlpiCZsquAthOgxW9SgDgYlGzEA\n’”
“b’s06pkEFiMw+qDfLo/sxFKB6vQlFekMeCymjLCbNwPJyqyhFmPWwio/PDMruBTzPH\n’”
“b’3cioBnrJWKXc3OjXdLGFJOfj7pP0j/dr2LH72eSvv3PQQFl90CZPFhrCUcRHSSxo\n’”
“b’E6yjGOdnz7f6PveLIB574kQORwt8ePn0yidrTC1ictikED3nHYhMUOUCAwEAAaNT\n’”
“b’MFEwHQYDVR0OBBYEFPVV6xBUFPiGKDyo5V3+Hbh4N9YSMB8GA1UdIwQYMBaAFPVV\n’”
“b’6xBUFPiGKDyo5V3+Hbh4N9YSMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL\n’”
“b’BQADggEBAGa9kS21N70ThM6/Hj9D7mbVxKLBjVWe2TPsGfbl3rEDfZ+OKRZ2j6AC\n’”
“b’6r7jb4TZO3dzF2p6dgbrlU71Y/4K0TdzIjRj3cQ3KSm41JvUQ0hZ/c04iGDg/xWf\n’”
“b’+pp58nfPAYwuerruPNWmlStWAXf0UTqRtg4hQDWBuUFDJTuWuuBvEXudz74eh/wK\n’”
+pp58nfPAYwuerruPNWmlStWAXf0UTqRtg4hQDWBuUFDJTuWuuBvEXudz74eh/wK

“b’sMwfu1HFvjy5Z0iMDU8PUDepjVolOCue9ashlS4EB5IECdSR2TItnAIiIwimx839\n’”
“b’LdUdRudafMu5T5Xma182OC0/u/xRlEm+tvKGGmfFcN0piqVl8OrSPBgIlb+1IKJE\n’”
“b’m/XriWr/Cq4h/JfB7NTsezVslgkBaoU=\n’”
“b’-----END CERTIFICATE-----\n’”
“b’\r\n’”
“b’+QSSLCFG: 0,0,“cacert”,1452\r\n’”
“b’\r\n’”
“b’OK\r\n’”
“b’at+qmtcfg=“ssl”,0,1,0,0\r\r\n’”
“b’OK\r\n’”
“b’at+qmtopen=0,“test.mosquitto.org”,8883\r\r\n’”
“b’OK\r\n’”
“b’\r\n’”
“b’+QNBIOTEVENT: “EXIT PSM”\r\n’”
2024-02-23 21:18:40
“b’\r\n’”
“b’+QMTOPEN: 0,0\r\n’”
“b’at+qmtconn=0,“89882280666027595366”\r\r\n’”
“b’OK\r\n’”
“b’\r\n’”
“b’+QMTCONN: 0,0,0\r\n’”
“b’at+qmtconn?\r\r\n’”
“b’+QMTCONN: 0,3\r\n’”
“b’\r\n’”
“b’OK\r\n’”
“b’at+qmtpub=0,0,0,0,“device/state”\r\r\n’”
“b’>\r\n’”
“b’{“volts”: null, “timestamp”: “2024-02-23 21:18:48”, “alarm”: false, “ccid”: “89882280666027595366”, “temperature”: “19.08595”}\r\n’”
“b’OK\r\n’”
“b’\r\n’”
“b’+QMTPUB: 0,0,0\r\n’”
“b’at+qmtclose=0\r\r\n’”
“b’OK\r\n’”
“b’\r\n’”
“b’+QMTCLOSE: 0,0\r\n’”
“b’at+qsclk=1\r\r\n’”
“b’OK\r\n’”
2024-02-23 21:18:52
“b’at+qsclk?\r\r\n’”
“b’+QSCLK: 1\r\n’”
“b’\r\n’”
“b’OK\r\n’”
“b’\r\n’”
“b’+QNBIOTEVENT: “ENTER DEEPSLEEP”\r\n’”
2024-02-23 21:19:22
“b’\r\n’”
“b’+QNBIOTEVENT: “EXIT DEEPSLEEP”\r\n’”
2024-02-23 21:19:23
“b’\r\n’”
“b’+QNBIOTEVENT: “ENTER PSM”\r\n’”
2024-02-23 21:20:02
“b’\r\n’”
“b’+QNBIOTEVENT: “ENTER DEEPSLEEP”\r\n’”
2024-02-23 21:20:03
“b’\r\n’”
“b’+QNBIOTEVENT: “EXIT DEEPSLEEP”\r\n’”
2024-02-23 21:20:03
“b’\r\n’”
“b’+QNBIOTEVENT: “ENTER DEEPSLEEP”\r\n’”
2024-02-23 21:20:23
“b’\r\n’”
“b’+QNBIOTEVENT: “EXIT DEEPSLEEP”\r\n’”
2024-02-23 21:20:23

I am struggling to find out what is the difference. Why does one work and the other not work?

PSM has been working, I think there is something wrong with the deepsleep state. enter deepsleep and exit deepsleep always appear alternately. I suggest you grab the debug log for analysis