EC200A: +QIURC "closed",0 after SEND OK on FW 01.200.01.200 (reproducible on multiple modules)

Hello,

I am working with a EC200A module using TCP socket communication via AT commands.

Firmware version: EC200AAUHAR01A14M16_01.200.01.200

This issue has been observed on two different units, deployed in different countries: Mexico & Chile

Additionally, this product has already been deployed in more than 600 units in the field, which makes this behavior especially relevant from a reliability and scalability standpoint.

The module is able to:

  • register to the cellular network correctly
  • activate PDP context
  • resolve DNS successfully
  • open a TCP socket
  • send data (SEND OK)

However, after sending data, the TCP socket is automatically closed, and the module reports: +QIURC: “closed”,0

Configuration and steps

AT
ATE0

AT+QIACT=1

AT+QIOPEN=1,0,“TCP”,“example.com”,80,0,0
// Response:
+QIOPEN: 0,0

AT+QISEND=0
Module response: >
// Payload sent + Ctrl+Z (0x1A)

SEND OK
+QIURC: “closed”,0

From a general TCP perspective, under what conditions does EC200A generate +QIURC: "closed" and how should this event be handled at application level?

Best regards!

Dear @AnthonyRFC ,

Thank You for Reaching out to us,

  1. From a general TCP perspective, under what conditions does EC200A generate +QIURC: "closed" and how should this event be handled at application level?

On the Quectel EC200A module, the Unsolicited Result Code (URC) +QIURC: “closed”, is generated when a TCP socket service is terminated by either the remote peer (the server) or due to a network error.

You may try to re-open the connection using AT+QIOPEN.
If AT+QIOPEN fails continuously (e.g., 5 times), deactivate and re-activate the PDP context before trying again.Connection Maintenance: For high-reliability field deployments, it is recommended to periodically send small “heartbeat” packets to detect if a connection has become silent or abnormal before a critical data transmission is attempted.

Thank You and Have a Great Day!

Dear @Alvin295337 ,

Thank you for the clarification.

We understand that +QIURC: "closed" is expected when the socket is terminated by the remote peer or due to a network issue. The application logic already handles reconnections and PDP reactivation as recommended.

However, we are facing a practical challenge:
The SIM provider is attributing the issue to the EC200A module, despite the fact that the same hardware and firmware works correctly with a different SIM card (TCP and TLS connections open and data is received normally).

From a troubleshooting perspective, we need a way to provide objective technical evidence to the SIM provider that the issue is network-related rather than module-related.

Question

Are there any recommended diagnostic methods or logs from the EC200A (e.g., specific AT commands, TCP/SSL debug outputs, or network status indicators) that can help distinguish between:

  • Server-initiated closure
  • Network/APN-level filtering or firewalling
  • Module-side TCP/IP stack issues

This would help us provide concrete proof to the SIM provider and resolve the dispute.

Thank you for your support.