2026-05-05 2:42 AM
Dear ST team,
In the ST87MXX AT Command User Manual, I can find that I can retrieve the data received on a socket with
AT#IPREAD:
AT#IPREAD=<context_id>,<socket_id>
#IPREAD: <context_id>,<socket_id>,<data_length>
<data>
OK
But I cannot find the max length of the <data> field that can be returned by the modem.
Where could I find this information ?
Best Regards
Thierry
Solved! Go to Solution.
2026-05-07 5:54 AM
Yes, AT#IPREAD is limited to 1 IP frame, it is a common way to proceed in NBIOT modems.
And if there are more data to received, you will get an URC message so that the application can read them using again AT#IPREAD.
Regards,
Didier
2026-05-07 2:17 AM
Hello Thierry Didi,
The maximum size of an IP frame is defined using the AT command "AT#IPPARAMS", by the parameter "max_ip_frame_size"
It can be set from 512 bytes minimum to 1600 bytes maximum.
Best regards,
2026-05-07 2:21 AM
So you're saying that the maximum amount returned by AT#IPREAD is one single IP frame?
2026-05-07 2:49 AM
Thanks Didier,
I think that I have the same question as Andrew : Does it mean that IP#IPREAD never provides more than one IP frame ? (even if more data has been received by the modem) ?
Then, in response to #IPRECV URC, we need to send several AT#IPREAD commands to read all the available data ?
Best Regards
Thierry
2026-05-07 5:54 AM
Yes, AT#IPREAD is limited to 1 IP frame, it is a common way to proceed in NBIOT modems.
And if there are more data to received, you will get an URC message so that the application can read them using again AT#IPREAD.
Regards,
Didier
2026-05-07 5:55 AM
Super !
many thanks !
Thierry