BG96 not responding the commands while open the multiple socket connection

We are using the Quectel BG96 module for an IoT gateway project for cloud communication. As per our requirement, we need to communicate with 4 socket connections. We have created one context under 4 socket connections.

Facing following issues while running 4 parallel socket connections:

1) While continuously sending the AT+QISEND command with different sockets, the module is not responding. We tried some 50msec delay between each AT + QISEND command and it is working fine. Is this correct?

2) After successfully closing the connection using AT + CLOSE, it gives the response OK but for next TCP/IP commands (like AT+QIRD) it is not responding. This is occurring rarely where it takes some time for recovering back or does not recovers at all. We tried closing the socket connection and waited for 10 seconds after getting the response for close command, then only it responded for other commands. Should we do the same or is there any other workaround? Waiting for 10 seconds results in disconnection of other socket connections.

3) While running 4 parallel connections some long time like 1 to 2 hours, DNS and TCP/IP communication failed. It responds with the error code "568, System busy". Once the System busy occurred, then no TCP/IP communication happened. The only way to recover is reset the module or AT+QPOWD command. What is the workaround for the same?

Kindly help to identify the issue. kindly let me know if there is any procedure to follow open the multiple connections.

  1. It’s correct to add delay for each QISEND command. Module need buffer to process TCP/UDP protocol.
  2. The last firmware, the mechanism of TCP close is changed as your described. Will be closed after 10s. This is to prevent module wait too long timeout in condition of server doesn’t response FIN ACK packets. Of cause, it’s also need to be optimized.
  3. For “system busy”, this issue would need further investigating by capturing logs. Check whether it can be avoid in application layer or it’s module bug in certain condition.

Best Regards,