nRF9160 SLM with SLM Shell communication issues

Hello everyone,

I previously posted about issues with SLM and the SLM shell, but I have made further progress. However, I now have a new problem.

I am still using the nRF9160DK and have tried with both the supported nRF53DK and added my files for the nRF54L15DK. both have the same results.

I can set up a UART and communicate with the nRF9160 modem via an external MCU.

I have changed the .overlay and .conf files on the SLM sample accordingly and followed the pinout mentioned in the SLM sample.

I can use some SLM commands like toggling GPIO so I can toggle the LED from the external MCU.

I can also use "slm AT+CFUN=1" to start the modem and see that a connection has been setup with "slm AT+CGDCONT?"

The problem is that when I try to use AT#XPING to test the connection it get an error.

Also setting eDRX or PSM settings gives an error as seen in in the code below.

*** Booting nRF Connect SDK v3.0.1-9eb5615da66b ***
*** Using Zephyr OS v4.0.99-77f865b8f8d0 ***

uart:~$ > slm AT+CFUN=1
slm AT+CFUN=1

OK

uart:~$ > slm AT+CGDCONT?
slm AT+CGDCONT?

+CGDCONT: 0,"IP","globaldata.iot","10.160.165.74",0,0

OK

uart:~$ > slm AT#XPING="5.189.130.26",45,5000,5,1000
slm AT#XPING="5.189.130.26",45,5000,5,1000

ERROR

uart:~$ > slm AT+CPSMS=1,,,"00000001","00000011"
slm AT+CPSMS=1,,,"00000001","00000011"

ERROR

uart:~$

On the nRF9160DK side I have connected the RTT to see more details.

Here the AT#XPING results in failed: -77.

and AT+CPSMS results in error type: 1

-77 indicates NRF_EBADMSG, which is not listed as one of the return values in the nrf_modem_at.h

*** Booting nRF Connect SDK v3.0.1-9eb5615da66b ***
*** Using Zephyr OS v4.0.99-77f865b8f8d0 ***
[00:00:00.255,187] <inf> at_cmd_custom: Custom AT commands enabled with 64 entries.
[00:00:00.260,955] <inf> fs_nvs: 2 Sectors of 4096 bytes
[00:00:00.260,986] <inf> fs_nvs: alloc wra: 0, fe8
[00:00:00.260,986] <inf> fs_nvs: data wra: 0, 0
[00:00:00.497,924] <inf> slm: lib_modem init: 0
[00:00:00.497,985] <inf> mcuboot_util: Image index: 0, Swap type: none
[00:00:00.498,016] <inf> slm: Serial LTE Modem
[00:00:00.591,583] <inf> nrf_cloud_info: Device ID: 50525631-3738-4671-808a-1116e2648cee
[00:00:00.596,923] <inf> nrf_cloud_info: IMEI:      351901936411895
[00:00:00.689,270] <inf> nrf_cloud_info: UUID:      50525631-3738-4671-808a-1116e2648cee
[00:00:00.694,976] <inf> nrf_cloud_info: Modem FW:  mfw_nrf9160_1.3.7
m
[00:00:49.061,676] <err> slm_at_host: AT command failed: -77
[00:00:55.410,919] <err> slm_at_host: AT command error, type: 1

I have tried on both my nRF54DK and nRF53DK, with and without flow control. (I see that in NCS V3.1.0-preview1 SLM shell is now mentioned with flow control)

But I keep getting this error. When I change the overlay to slm-uart back to uart0 (so PC) and the pins in .conf, everything works fine when sending directly over uart 0 via PC. That is the only difference.

Has anybody got any idea what It could be?

Kind regards,

Jack

Related