I am working with Simcom A7670G-LABE modem and encountering an issue where, after dialing a voice call with ATD, it is not possible to terminate the call using AT+CHUP or ATH (with AT+CVHU=0). Furthermore, after the call ends (either naturally or manually), it is no longer possible to initiate another call via ATD without resetting the modem with AT+CRESET.
This behavior is consistently observed on two different prototypes with the A7670G-LABE (Global).
However, prototypes based on the A7670E-LASE (Europe) module operate correctly under the same test conditions.
Test setup...
Modem: A7670G-LABE
Controller: ESP32-WROOM-32D (using 3V3 <-> 1V8 level shifter)
UART settings: 115200 baud, 8N1, RTS/CTS connected, hardware flow control disabled (AT+IFC=0,0)
Power supply: 4.2V, stable, no brownouts
ATI Output:
ATI
Manufacturer: SIMCOM INCORPORATED
Model: A7670G-LABE
Revision: A7670M7_V1.11.1
Observed behavior:
The ATD command succeeds and establishes the first voice call.
AT commands like AT, AT+CPIN?, AT+CREG?, etc. continue to respond during and after the call.
AT+CHUP and ATH commands timeout (after 9 seconds).
It is not possible to initiate a second call with ATD - timeout (after 2 minutes).
Modem reset (AT+CRESET) restores functionality and I am able to make one call again.
I am able to send SMS with AT+CMGS before and after the call multiple times without reset.
Sending AT+CHUP before the first call results in OK.
Example 1 - Attempting to hang up during an active call:
15:33:40.408 -> *ATREADY: 1
15:33:44.706 -> +CPIN: READY
15:33:45.352 -> SMS DONE
15:33:46.591 -> +CGEV: EPS PDN ACT 1
15:33:51.167 -> PB DONE
15:33:52.638 -> ATD+421949XXXXXX;
15:33:52.818 -> OK
15:33:52.865 -> +CLCC: 1,0,2,0,0,"+421949XXXXXX",145,"",,0
15:33:56.935 -> +CLCC: 1,0,3,0,0,"+421949XXXXXX",145,"",,0
15:34:01.562 -> AT+CHUP
15:34:10.558 -> +CME ERROR: AT command timeout
Example 2 - Attempting to make a second call after the first call naturally ended:
15:52:44.751 -> ATD+421949XXXXXX;
15:52:44.886 -> OK
15:52:44.918 -> +CLCC: 1,0,2,0,0,"+421949XXXXXX",145,"",,0
15:52:52.076 -> +CLCC: 1,0,3,0,0,"+421949XXXXXX",145,"",,0
15:54:14.874 -> +CLCC: 1,0,6,0,0,"+421949XXXXXX",145,"",,0
15:54:14.874 -> NO CARRIER
15:54:14.874 -> VOICE CALL: END
15:54:27.438 -> AT
15:54:27.438 -> OK
15:54:30.518 -> ATD+421949XXXXXX;
15:56:30.526 -> +CME ERROR: AT command timeout
Additional notes:
ESP32 in the tests was programmed to just relay communication between modem and PC, acting as a bridge.
Flow control disabled (AT+IFC=0,0) to avoid interference.
Sleep mode disabled on the ESP32.
No UART data overflow or framing errors observed.
What have I tried?
Scope measurement did not show any brownouts (docs specifies maximum drop of 400mV during operation - not observed).
Factory reset with AT&F and AT&W did not help.
Tried to send "+++" with one second pause in communication before and after to return back to AT command mode from audio/data/transparent mode - did not help.
Tried different prototype with different A7670G-LABE - did not help.
Tried to contact Simcom support via e-mail - no response after a week.
Any idea what is causing this or what else can I try to diagnose and solve it?
Any idea where could I download fresh modem firmware and flashing utility in case Simcom does not respond to my communication?