Hi,
I’m trying to do a basic TCP connection with nc. I’m able to connect to the server, send datas and receive instant answer. But when the server is answering more than 2s after my request, I don’t receive any data, I need to send datas again to receive my answer. The module seems to going in sleep mode so I tried to do AT+KSLEEP=2, AT+CPSMS=0, change enable_autosleep.sh script but nothing is working. I tried with all firmware release but same issue each time.
are you using USB to control nc?
have you captured wireshark to understand what is happening in TCP communication?
I used both USB and serial and same issue.
I captured wireshark on server side and answer is well sent.
Will try to capture on module side and keep in touch
if the package did not reach module, there should be resend mechanism in TCP protocol.
After investigation, you’re right the server send many tcp retransmission, but the module never receive them.
I see a little consumption drop, is there a way to know if the module is sleeping?
Normally if you connect usb to host, and it continuously communicating with host, it should be awake
Also you can have a look here:
I wonder if this is related to RRC_IDLE, also you can bring it back to RRC CONNECTED by just doing a simple TCP transfer such as keep-alive packet.
In addition, you can try if there is improvement by disabling edrx feature by AT+CEDRXS=0
AT+CEDRXS=0 is the solution, the module still goes to “Idle” mode but come back in “Connected” when it receives packets.
Thanks a lot !