NB-IoT stuck at AWS_IOT_EVT_CONNECTING

In preparation for production, I am testing NB-IoT with China Mobile Hong Kong (CMHK).  The same test code runs in Canada as well as in Japan with LTE-M with no problem.  The code will connect to our AWS endpoints and send MQTT messages.  With CMHK, I can only connect to the NB-IoT network, but can't connect to AWS.  There is no error message or error code whatsoever.  The code just loops at AWS_IOT_EVT_CONNECTING.  Here is a terminal log right from the beginning.

*** Booting Zephyr OS build v3.2.99-ncs2 ***
FOTA version: v1.0.5
mfw_nrf9160_1.3.5
OK

AWS IoT started
Battery: 3547
+CEREG: 2,"C41B","01880BCB",9
LTE cell changed: Cell ID: 25693131, Tracking area: 50203
+CSCON: 1
RRC mode: Connected
+CGEV: ME PDN ACT 0,0
+CNEC_ESM: 50,0
+CEREG: 1,"C41B","01880BCB",9,,,"11100000","11100000"
Network registration status: Connected - home network
PSM parameter update: TAU: 3240, Active time: -1
+CEDRXP: 5,"1001","1001","0011"
eDRX parameter update: eDRX: 163.839996, PTW: 10.240000
%XTIME: "23","42501160244223","00"
Date time obtained
Next connection retry in 30 seconds
AWS_IOT_EVT_CONNECTING
AWS_IOT_EVT_CONNECTING
Next connection retry in 30 seconds
AWS_IOT_EVT_CONNECTING
AWS_IOT_EVT_CONNECTING
+CSCON: 0
RRC mode: Idle
Next connection retry in 30 seconds
AWS_IOT_EVT_CONNECTING
AWS_IOT_EVT_CONNECTING
Next connection retry in 30 seconds
AWS_IOT_EVT_CONNECTING
AWS_IOT_EVT_CONNECTING
Next connection retry in 30 seconds
AWS_IOT_EVT_CONNECTING
AWS_IOT_EVT_CONNECTING
Next connection retry in 30 seconds
AWS_IOT_EVT_CONNECTING
AWS_IOT_EVT_CONNECTING
Next connection retry in 30 seconds
AWS_IOT_EVT_CONNECTING
AWS_IOT_EVT_CONNECTING

I am pretty sure the certificates and endpoint are correct.  Any suggestion is much appreciated.  Thank you in advance.

Parents Reply
  • Which SDK version are you using?

    In most SDK versions, the UART trace backend is hardcoded to use UART1, though it can be changed by editing the correct source file.

    In the most recent versions, it is possible to specify which UART to use in the device tree.

    It is also possible to send the modem trace over RTT, though depending on which SDK version you are using, it might be better to move the application log to RTT, and send the modem trace over the UART pins previously used for the application log as the RTT backend used to be less stable than the UART backend.

Children
Related