HL7800 TCPRCV ERROR and then no response to commands

I am working with the HL7800. I am able to get the module to send (TCP) and the response appears to be received (I get the +KTCP_DATA: 1,78 message).

However, when I use the AT+KTCPRCV=1,1 message I get a response of ERROR and then many of the commands no longer show a response (however, some do). For example, ATI will show a response but AT+KCNXCFG? will not.

When the module gets into this state, I can no longer do much of anything until a reset of the module is performed.

What am I doing wrong?

Here are the commands I use:

AT&K3

AT+KCNXCFG=1,"GPRS","AT&T"

AT+KTCPCFG=1,0,"52.20.16.20",30001

//I wait until I get the +KTCPCFG: 1 message

AT+KTCPCNX=1

//I wait until I get the +KTCP_IND: 1,1 message

AT+KTCPSND=1,8

//I wait until I get the CONNECT message

ABCD123\r--EOF--Pattern--

//I wait until I get the +KTCP_DATA: 1,78 message

AT+KTCPRCV=1,1

//I get ERROR message but am expecting something like:
{
  "client-ip": "::ffff:41.130.36.121",
  "data": [71,101,116,32,115,111,109,101,32,84,67,80,32,105,110,102,111,10],
  "text-data": "Get some TCP info\n",
  "size": 18
}

Hi,

Do you enable the sleep mode? Please try first with AT+KSLEEP=2(disable sleep) and AT+CMEE=1 to see the exact ERROR code. And how about FW version?

Here’s my good log:
ATI3
BHL7800.3.5.1.1.20190720
OK
AT+KSLEEP?
+KSLEEP: 2
OK
AT+CMEE=1
OK
AT+KCNXCFG=1,“GPRS”,“CMIOT”
OK
AT+KTCPCFG=1,0,“xx.xx.xx.xx”,5021
+KTCPCFG: 1
OK
AT+KTCPCNX=1
OK
+KTCP_IND: 1,1
AT+KTCPSND=1,8
CONNECT
11111111–EOF–Pattern–
OK
+KTCP_DATA: 1,12
AT+KTCPRCV=1,12
CONNECT
mc044u75z0t±-EOF–Pattern–
OK
AT+KTCPCLOSE=1
OK
+KCNX_IND: 1,5,30
AT+KTCPDEL=1
OK

My firmware version is:
AT+CGMR
AHL7800.1.4.0.0.20180430

I switched to a different board that had the following firmware and it works:
AT+CGMR
BHL7800.1.6.3.0.20180731

I will try your command set and see what happens on the old board.

Thanks for the reply!

Updated the firmware to BHL7800.3.4.4.3 and it is working fine now.

I have a similar issue but my firmware is latest. Still get CME 3. Please see this link:

Hi nsingh,
Please remove the Blank space in the command.
Use “AT+KTCPRCV=1,370” instead of “AT+KTCPRCV=1, 370”.

1 Like

Hi I got same kind of issue, Hl7800 not response to commands, I tried to set AT+KSLEEP=2, but this command return ERROR,

Which firmware are you using?

current firmware is HL7800.4.6.9.4

Current KSLEEP settings is
+CPSMS: 1,“11100000”,“11100000”,“11111000”,“11111000”
+KSLEEP: 1,2,0

i don’t see problem to set +KSLEEP


ati3
HL7800.4.4.6.0

OK
at+ksleep=2
OK

I am still getting the same ERROR
24/02/2024 09:49:33.663 [RX] - ati3

HL7800.4.6.9.4

OK

24/02/2024 09:49:39.868 [RX] - AT+KSLEEP?

+KSLEEP: 1,2,0

OK

24/02/2024 09:49:43.570 [RX] - AT+KSLEEP=2

ERROR

In my last test i send same commands on two modems, KSLEEP return OK on one modem and on other modem returns ERROR. Why its returning ERROR.

Are they using same firmware?

Yes Same firmware HL7800.4.6.9.4

if same firmware is used but different behavior , this could be hardware issue

Is there a way to find the source of issue.

You can compare all the setting between good module and bad module, e.g. power related command like +cpsms, edrx command

Now I am getting several modules experiencing a return ERROR for AT+KSLEEP=2 command.

Currently in the firmware, during each powerup or reboot, I’m simply issuing the command AT+KSLEEP=1,2,0 without reading KSLEEP. I had a doubt that this repetitive writing action of this command caused memory corruption in the HL7800 and now it returns an error while trying to change values. I suspect that the memory corruption is causing the module to freeze during tcp receive operations and become unresponsive to any commands.

as you said your modules become unresponsive to any commands, is that even typing ati3 or at+ksleep?

Will it recover if you downgrade to some older FW?
https://source.sierrawireless.com/resources/airprime/software/hl7800-firmware/hl78xx-firmware-release-history-item/#sthash.6lu90PQh.ScxDxNsn.dpbs