BG96 large (600KB) TCP GET response causes module to become unresponsive

We are using the BG96 to retrieve an over the air firmware update for an ESP32 over the CatM1 network with Hologram sim cards.

The download is initiated by sending a GET request to AWS S3 using the BG96 AT TCP commands.

The payload is approximately 600KB.

Around 20-50% completion, the BG96 stops forwarding data. Often it also becomes unresponsive to all AT commands and the blue network LED turns off.

In direct push mode this means the “recv” URC notifications stop arriving in the serial buffer for the esp32 to read and request the data.

We also get similar behaviour in transparent access mode, that is that the download ceases midway through and often the BG96 seems to go to sleep.

A oscilloscope and power logging tools show that the BG96 supply voltage is solid around 4.2V and does not dip anywhere close to the 3.3V minimum.

Other communications over the network seem to be fine.

Our BG96 modules are flashed with firmware version BG96MAR02A07M1G.

Similarly we have also had trouble with receiving a MQTT message. See BG96 Publish fails to receive reply unless publish is sent twice (network fine and server verified replying)

UPDATE:
It is either the BG96 or the network. Using QCOM or a python script to download the file using the HTTP GET AT commands results in something between 10-99% of the file being downloaded. Some times the data end early, sometimes the ending arrives but parts from the middle are missing. In methods, lots of time is given to wait for the data.

I have posted this same problem on the hologram forum in case it is a network problem. We have no problems reliably obtaining the data with the same GET request using postman.

These problems were fixed by upgrading firmware BG96MAR02A07M1G_01.007.01.007 to BG96MAR02A07M1G_01.019.01.019