HL7800 Error

Hello,

We’re trying to debug our board using HL7800.
We were using other vender’s LTE modem and changed to HL7800, it’s the first debugging level with HL7800.
Please see below our issue and advise to me.

Our system gathering GPS data and some sensor data, and send all data at once thru HL7800…
but we found problems during test.

[ Issue : Data can’t go to server, we guess that this is related to data length ]

We used below basic data format.

We tested as below and found error.

(1) Actual Sending data
“AT+KHTTPGET=1,"/api/state?data=$GPGGA,091626.000,2236.2791,N,12017.2818,E,1,10,1.00,8.8,M,18.7,M,*66$GPRMC,091626.000,A,2236.2791,N,12017.281812341234123412341234"\r”;
(2) Actual Receiving data
"AT+KHTTPGET=1,"/api/state?data=$GPGGA,091626.000,2236.2791,N,12017.2818,E,1,10,1.00,8.8,M,18.7,M,*66$GPRMC,091626.000,A,2236.2791,N,12017.281812341234123412341234"\r\r\nERROR\r\n

We tried after reducing sending data length(remove some data) as below than issued sending data.
When doing like this, worked normally…
but Return data(0002000400006) was not received, we guess that this is because we reduce message randomly, so return data is not important now.

Sending data after removing some value from issued sending data(=> just shorten the data length for test) :
“AT+KHTTPGET=1,"/api/state?data=$GPGGA,091626.000,2236.2791,N,12017.2818,E,1,10,1.00,8.8,M,18.7,M,*66$GPRMC,091626.000,A,2236.2791,N,12017.2818"\r”

Receiving data (connected to Network normally) :
“AT+KHTTPGET=1,"/api/state?data=$GPGGA,091626.000,2236.2791,N,12017.2818,E,1,10,1.00,8.8,M,18.7,M,*66$GPRMC,091626.000,A,2236.2791,N,12017.2818"\r\r\n+KCNX_IND: 1,1,0\r\n\r\n+KHTTP_IND: 1,1\r\n\r\nCONNECT\r\nx-cotent-type-options: nosniff\r\nx-xss-protection: 1; mode=block\r\ncache-control: no-cache, no-store, max-age=0, must-revalidate\r\npragma: no-cache\r\nexpires: 0\r\ncontent-type: application/json;charset=UTF-8\r\ntransfer-encoding: chunked\r\ndate: Mon, 04 Jul 2022 14:35:13 GMT\r\n\r\n{"status":200,"data":""}–EOF–Pattern–\r\nOK\r\n\r\n+KHTTP_IND: 1,3,296,0,"Invalid status code"\r\n”

We also tried below options but same behavior.
“AT+KIPOPT=0,"HTTP",2,1000,1000\r”;
“AT+KIPOPT=0,"HTTPS",2,1000,1000\r”;
“AT+KIPOPT=0,"TCP",2,1000,1000\r”;

Till now, we guess that HL7800 have some limitation related to length of data/message…etc.

Please advise to me if you have idea.

thanks

there is platform limitation that the URL in +KHTTPGET cannot be longer than 128 bytes

Hello,

very thanks.
this could be solved if we make within 100KB.
but any other method to avoid this problem?
If we don’t use httpget?

thanks

you can use TCP connection but just implement the HTTP request and HTTP protocol in the TCP communication

Hello,
We sloved message length issue based on your advice, we programmed our source based on TCP communication. but we faced to other issue.
After re-programming based on TCP, we communicated with our server successfully. We tested one sample module. But we found that other sample module board couldn;t comminucate normally now.
We’re testing 5pcs additional module with same MCU firmware, but we guess that LTE didn;t communicate with server correctly…
Just one module is ok…same hardware/Antenna/SW…
We’re inspecting SW now but I need your advice if you have any idea about my situation…
thanks

Does the module register network

sure, module was activated on airvantage website.

For information.
I tried diagnostic on airvantage.
Normal module and issue module were ok.

  • sim state is compliant with traffic
  • Data status seems to be ok, I could see “on 4G : time…”.
    This means HL7800 was connected to Network not communicated to server? or other?
    we know that no response from modem on issue module…

Have you captured wireshark log in server

any guide for wireshark with LTE modem?

According to our inspection, we found the difference between normal and abnormal status.

Below is our command.
AT&K3\r
AT+KCNXCFG=1,“GPRS”,“”\r
AT+KTCPCFG=1,0,“mygps-tracking.com”,80,0,0,\r
AT+KTCPCNX=1\r
AT+KTCPSND=1,224\r
GET /api/state?data=$GPGGA,091626.000,2236.2791,N,12017.2818,E,1,10,1.00,8.8,M,18.7,M,66$GPRMC,091626.000,A,2236.2791,N,12017.2818,E,0.32,172.25,160418,A62$GPVTG,172.25,T,M,0.32,N,0.59,K,A*33$ID,0010,$V,3.33 HTTP/1.0\r\n\r\n–EOF–Pattern–
AT+KTCPRCV=1,315\r
AT+KTCPDEL=1\r

When communicating with network,
If we send " AT+KTCPCNX=1\r “, we received the response " +KCNX_IND: 1,1,0 +KTCP_IND:1,1” …
but When communicatiion was failed,
If we send " AT+KTCPCNX=1\r ", we receive the response " +KCNX_IND: 1,4,1\r\n\r\n+KCNX_IND: 1,2,1,2,30\r\n "…

Please check it.

I mean wireshark on your server

ok, but we should check this if possible or not because of our situation.
I need your advice about my other replay about return message when communication fails.
thanks

it seems it just means cannot connect to server.

More information about my issue…

During our inspection, we found below behaviors…
We tried several time to enable SIM detection process…After that, issue solved…

Please see below our process and result, and I need your idea.
Let us know if we should add or change any option for solution…

  1. For 10pcs sample module, we read module information(CCID/IMEI/SN) as below process…

(1) pre-setting to read uSIM/Modem information

n Set Sierra

AT+KCARRIERCFG=15\r\r\nOK\r\n

  • AT+KSIMSEL=9

n Set eSIM

AT+KSIMSEL=9\r\r\nOK\r\n\nOK\r\n

  • AT+CFUN=1,1

n Module Reset

AT+CFUN=1,1\r\r\nOK\r\n

  • AT+KSIMSEL?

n Check the current SIM setting/configuration

AT+KSIMSEL?\r\r\n+KSIMSEL: 9,3\r\n\r\nOK\r\n

(2) Checking Information

  • AT+CCID

  • AT+CCID\r\r\n+CCID: 00000000000000000000000000000000000000000000\r\nOK\r\n

n check ESIM CCID

  • AT+CGSN=1

  • AT+CGSN=1\r\r\n+CGSN:"000000000000000"\r\n\r\nOK\r\n

n check module IMEI

  • AT+KGSN=3

  • AT+KGSN=3\r\r\n+KGSN: 00000000000000\r\n\r\nOK\r\n

n check SERIAL NUMBER

  1. Based on above process, we expected that it should be saved as “AT+KSIMSEL=9”.
    but it not “9” when error happened…

Please see below comparison table between “Error Case” and “Normal Case”…
Failure Module was activated after trying this process so many times…but we think it’s not normal status…
we think there’re any option or something to add or change…
I change number as 0000000000 not to open our module information…

any comment for my question?

i don’t quite understand, you can just select esim every power on ,right?