Hi communityI'm trying to evaluate the possibilities of an application update over the air via NB-Iot. According to this post this should be possible.
I'm using the application_update example with the nRF9160-DK (B1).
The example works fine with LTE-M and is able to download the update.
In the prj.conf I changed the defaults for the fragment size (2048 B) and the network mode (LTE-M) to 512 B and NB-IoT by adding the following lines:
The code compiles and the LTE Link does connect. It also connects to the server but then it fails with the error 116, see below:
*** Booting Zephyr OS build v2.6.99-ncs1 ***
HTTP application update sample started
LTE Link Connecting ...
LTE Link Connected!
Press Button 1 to perform application firmware update
I: Configuring socket timeout (30 s)
I: Connecting to hidden-url.com
I: Downloading: FOTA/app_update.bin 
E: Error in recv(), errno 116
E: Download client error
Received error from fota_download
Does anyone have an idea whats wrong here?Thanks!
I convert your trace to pcapng and checked with wireshark. The last message is an LTE RCC Release command. Have you set the PSM or does your carrier have some keep link timeout parameters?
I find some discussion mentioned that Swisccom does not enable the APN correction on its network that means the user needs to specify the correct APN in the device.I guess this might be the cause…
thanks for your reply and your help. It seems like it won't work in Switzerland with Swisscom. So I think this thread can be closed.Best wishes,
NB-IoT has low speed and it may take a very long time to finish a FOTA downloading, this might exceed some time limits.
The PSM was set by default. I tried again after I disabled it (set the first three digits to one).
But it is still failing, maybe there are some timeout parameters set by the carrier, I cannot say that.
With your btw tipp of converting the bin to pcapng I looked into the trace myself. It still does the RCC Release, see attached.
What is visible too is that there are loads of TCP retransmissions, double ACK and out-of-order packets - It seems like the tcp communication just isn't working as intended.
I have heard about problems with NB-IoT and TCP. So I'm asking myself if its just not possible to properly communicate with TCP over NB-IoT (or only if you're lucky), what do you think?
Thanks and best wishes,