Hi,
I have been facing issues with the configuration of the nRF9151 for sending and receiving UDP packets via the Skylo NTN network.
I am running firmware version:
> AT+CGMR
mfw_nrf9151-ntn_1.0.0-1.alpha
OK
and the module's hardware version is:
> AT%HWVERSION
%HWVERSION: nRF9151 LACA A1A
OK
I have been following the documentation in package 'ntn-alpha-documentation-package-v2.zip', particularly 'NTN operation AT examples v1.3.pdf'.
I am able to successfully attach to the Skylo network:
%MDMEV: SEARCH STATUS 1
+CEREG: 2,"0FB6","0021A176",14
%MDMEV: PRACH CE-LEVEL 0
+CSCON: 1,7,4
+CEREG: 5,"0FB6","0021A176",14,,,"11100000","00111000"
%MDMEV: SEARCH STATUS 2
I can successfully set up a socket:
> AT#XSOCKET=1,2,0
#XSOCKET: 0,2,17
OK
> AT#XSOCKET?
#XSOCKET: 0,1,0,2,0
OK
However when I try to execute AT#XCONNECT, following the syntax in the documentation i.e.:
; Syntax: #XCONNECT=<handle>,<url>,<port>
> AT#XCONNECT=0,"192.168.217.100",4781
ERROR
I have to omit the handle and the AT command works:
> AT#XCONNECT="192.168.217.100",4781
#XCONNECT: 1
OK
I then try to execute the AT#XSEND command, again following the syntax in the documentation, i.e.:
AT#XSEND=<handle>,<mode>,<flags>,<data> when ``<mode>`` is ``0`` or ``1``
the commands fail:
> AT#XSEND=0,0,0,"24022026_6"
ERROR
> AT#XSEND=0,0,8192,"24022026_6"
ERROR
However, if I execute the command without any parameters apart from <data> it succeeds and I can see the UDP packet in the UDP server logs:
> AT#XSEND="24022026_2"
#XSEND: 10
OK
%MDMEV: PRACH CE-LEVEL 0
+CSCON: 1,7,4
The UDP server is configured to send an 'ACK' back to the module and I have seen this working on other manufacturers modules, that support NB-IoT over NTN. However, no ACK is received at the nRF9151. I have attached both the Cellular Monitor .mtrace files and .pcapng, the latter I've examined using Wireshark. I can see the 'ACK' being sent from the server to the module, whose SIM has been allocated a static IP address, but this is followed by an ICMP message stating that the port is unreachable. As I mentioned previously, the 'ACK' is successfully received when this has been tested with other manufacturers' modules.
Could you please:
1) Try and explain this behaviour and explain what I'm doing wrong ?
2) Why there appears to be a discrepancy between the syntax in the AT commands specified in 'NTN operation AT examples v1.3.pdf', and indeed 'NTN operation AT examples v1.3.pdf', together with the AT commands syntax at https://docs.nordicsemi.com/bundle/addon-serial_modem-latest/page/app/at_socket.html and the AT commands that I see being executed on the module ?
Many thanks in advance.
trace-2026-02-24T11-36-24.144Z.mtracetrace-2026-02-24T11-07-27.140Z.mtracetrace-2026-02-24T10-40-18.522Z.mtrace
MO_Test_No_ACK_24022026_2.pcapngMO_Test_No_ACK_24022026_1.pcapng