BG600L: QSSLRECV=0,0 Not Working as Expected

I have a BG600L and I am trying to use QSSLRECV=0,0 to retrieve the number of bytes available to read. According to “Quectel_BG95BG77BG600L_Series_SSL_Application_Note_V1.1-1”, p24, I can use

AT+QSSLRECV=clientID,0

and this should return

+QSSLRECV: <total_receive_length>,<have_read_length>,<unread_length>

However, it always returns

+QSSLRECV: 0

I issue

AT+QSSLRECV=0,0

after receiving the ‘recv’ URC in order to get the actual number of bytes available, as the SSL URC doesn’t tell me, unlike the regular TCP version.

Any ideas what could be wrong?

Thank you.

Charles Law

I will feedback your request to R&D.

If you send “AT+QSSLRECV=0,0”, it will read the TCP Buffer , The the buffer is empty , will Return 0 ,

One point need to pay more attention to , the return of AT is different from URC .

Thank you for the response. As this is a …SSL… command I would expect it to read from the TLS/SSL buffer rather than the TCP buffer. If it does not it I think the unexpected behaviour needs to be made clear in the application note. I would also expect it to comply with the stated response format, and return

+QSSLRECV: 0,0,0

Would you agree?

Does anyone have experience of this command working as documented? I’d appreciate an answer to promote the conversation.

Thank you.

This is very disappointing. It seems that not one person can claim that they have this working as documented. Surely, this means that there is a problem with this device that needs fixing?

Hi Charles Law,

  1. If moudule as client and did server sent data to client?
    if there is no any data sent from server, there should be returned: +QSSLRECV: 0
    As follow image you can see:

So this is expected behaviour.

Hi,

Thanks for replying. In my original post I said

The full extract from the application note that you quoted is

This states that when readlen is zero, as in my original example, the module should report the number of bytes available, but it does not. As I do this after a recv URC I expect it to return non-zero values.

Regards

Charles

Sorry Charles,

Maybe i missed you point before,
Could you share you fw version? i tried my side, it works fine.

[2022-08-06_15:16:34:021]AT+QSSLOPEN=1,1,0,"server",port,0

[2022-08-06_15:16:34:021]OK
[2022-08-06_15:16:34:906]
[2022-08-06_15:16:34:906]+QSSLOPEN: 0,0
[2022-08-06_15:16:37:079]AT+QSSLRECV=0,0

[2022-08-06_15:16:37:079]+QSSLRECV: 0,0,0

[2022-08-06_15:16:37:079]OK
[2022-08-06_15:18:02:191]AT+QSSLSEND=0,10

[2022-08-06_15:18:02:191]> 1234567890
[2022-08-06_15:18:05:288]SEND OK
[2022-08-06_15:18:05:559]
[2022-08-06_15:18:05:559]+QSSLURC: "recv",0
[2022-08-06_15:18:07:883]AT+QSSLRECV=0,0

[2022-08-06_15:18:07:883]+QSSLRECV: 10,0,10

[2022-08-06_15:18:07:883]OK
[2022-08-06_15:18:12:489]AT+QSSLRECV=0,10

[2022-08-06_15:18:12:489]+QSSLRECV: 10
[2022-08-06_15:18:12:489]1234567890

[2022-08-06_15:18:12:489]OK
[2022-08-06_15:18:16:249]AT+QSSLRECV=0,0

[2022-08-06_15:18:16:249]+QSSLRECV: 10,10,0

[2022-08-06_15:18:16:249]OK

Hi,

The response to AT+CGMR is

BG600LM3LAR02A03

The response to AT+QGMR is

BG600LM3LAR02A03_01.003.01.003

Regards

Charles