Hello everyone. Not sure if this is the right place or not but I have been having a terrible time trying to get my two Quectel EG800Q’s to establish a websocket connection. My modems seem to freeze directly after the AT+QSSLOPEN command and become unresponsive until it is reset by my program. I will attach the output below so you can see my logs, and if you need more information let me know and I will try to obtain it. One thing to note is that I know I only have the program waiting 60 seconds in this output, but I have gone all the way up to 300 seconds and still no response, and the EG800Q itself becomes unresponsive as soon as the AT+QSSLOPEN command is sent anyways. Any help is greatly appreciated
Chris
[00:00:19.354,000] quectel_network: TCP stack context (post-NITZ): +QIACT: 1,1,1,“10.200.102.204”
[00:00:19.354,000] quectel_at: quectel_at_send: TX: AT+CGPADDR=1
[00:00:19.365,000] quectel_at: response_processor_thread: RX: +CGPADDR: 1,“10.200.102.204”
[00:00:19.365,000] quectel_at: response_processor_thread: RX: OK
[00:00:19.365,000] quectel_network: IP address (post-NITZ): +CGPADDR: 1,“10.200.102.204”
[00:00:19.365,000] quectel_at: quectel_at_send: TX: AT+QIDNSCFG=1
[00:00:19.376,000] quectel_at: response_processor_thread: RX: +QIDNSCFG: 1,“10.2.203.1”,“1.1.1.1”
[00:00:19.376,000] quectel_at: response_processor_thread: RX: OK
[00:00:19.376,000] quectel_network: Modem DNS config (post-NITZ): +QIDNSCFG: 1,“10.2.203.1”,“1.1.1.1”
[00:00:19.376,000] quectel_network: Testing connectivity to primary DNS (post-NITZ): 10.2.203.1
[00:00:19.376,000] quectel_at: quectel_at_send: TX: AT+QPING=1,“10.2.203.1”,1,1
[00:00:19.384,000] quectel_at: response_processor_thread: RX: OK
[00:00:19.384,000] quectel_at: quectel_at_wait_urc: URC check: ‘+QPING: 0,1,1,0,344,344,344’ vs ‘+QPING: 0’
[00:00:19.384,000] quectel_network: DNS server 10.2.203.1 is reachable (post-NITZ): +QPING: 0,1,1,0,344,344,344
[00:00:19.384,000] quectel_network: Synchronizing time via NTP…
[00:00:19.384,000] quectel_at: quectel_at_send: TX: AT+QNTP=1,“time.google.com”,123
[00:00:19.397,000] quectel_at: response_processor_thread: RX: OK
[00:00:19.397,000] quectel_network: NTP sync request sent, waiting up to 30s…
[00:00:19.397,000] quectel_at: quectel_at_wait_urc: URC check: ‘+QIURC: “pdpdeact”,1’ vs ‘+QNTP: 0’
[00:00:19.397,000] quectel_at: quectel_at_wait_urc: URC discarded (not ‘+QNTP: 0’): +QIURC: “pdpdeact”,1
[00:00:19.545,000] quectel_at: response_processor_thread: RX: +QPING: 0,“10.2.203.1”,64,25,255
[00:00:19.545,000] quectel_at: urc_enqueue: URC enqueued: +QPING: 0,“10.2.203.1”,64,25,255
[00:00:19.545,000] quectel_at: quectel_at_wait_urc: URC check: ‘+QPING: 0,“10.2.203.1”,64,25,255’ vs ‘+QNTP: 0’
[00:00:19.545,000] quectel_at: quectel_at_wait_urc: URC discarded (not ‘+QNTP: 0’): +QPING: 0,“10.2.203.1”,64,25,255
[00:00:19.545,000] quectel_at: response_processor_thread: RX: +QPING: 0,1,1,0,25,25,25
[00:00:19.545,000] quectel_m quectel_at: quectel_at_wait_urc: URC check: ‘+QPING: 0,1,1,0,25,25,25’ vs ‘+QNTP: 0’
[00:00:19.545,000] quectel_at: quectel_at_wait_urc: URC discarded (not ‘+QNTP: 0’): +QPING: 0,1,1,0,25,25,25
[00:00:19.667,000] quectel_at: response_processor_thread: RX: +QNTP: 0,“2026/04/14,09:03:24+00”
[00:00:19.667,000] quectel_at: urc_enqueue: URC enqueued: +QNTP: 0,“2026/04/14,09:03:24+00”
[00:00:19.667,000] quectel_at: quectel_at_wait_urc: URC check: ‘+QNTP: 0,“2026/04/14,09:03:24+00”’ vs ‘+QNTP: 0’
[00:00:19.667,000] quectel_network: NTP sync result: +QNTP: 0,“2026/04/14,09:03:24+00”
[00:00:19.667,000] quectel_at: quectel_at_send: TX: AT+CCLK?
[00:00:19.683,000] quectel_at: response_processor_thread: RX: +CCLK: “26/04/14,09:03:24+00”
[00:00:19.683,000] quectel_at: response_processor_thread: RX: OK
[00:00:19.683,000] quectel_network: Final modem time: +CCLK: “26/04/14,09:03:24+00”
[00:00:19.683,000] quectel_network: Testing connectivity (Ping 8.8.8.8)…
[00:00:19.683,000] quectel_at: quectel_at_send: TX: AT+QPING=1,“8.8.8.8”,1,1
[00:00:19.690,000] quectel_at: response_processor_thread: RX: OK
[00:00:19.920,000] quectel_at: response_processor_thread: RX: +QPING: 0,“8.8.8.8”,64,98,255
[00:00:19.920,000] quectel_at: urc_enqueue: URC enqueued: +QPING: 0,“8.8.8.8”,64,98,255
[00:00:19.920,000] quectel_at: quectel_at_wait_urc: URC check: ‘+QPING: 0,“8.8.8.8”,64,98,255’ vs ‘+QPING: 0’
[00:00:19.920,000] quectel_network: Ping successful: +QPING: 0,“8.8.8.8”,64,98,255
[00:00:19.920,000] quectel_network: ✓ Modem network initialization complete
[00:00:19.920,000] main: Initializing mbedtls entropy/DRBG…
[00:00:19.931,000] main: Crypto ready.
[00:00:19.931,000] main: Initializing GNSS…
[00:00:19.931,000] gnss_sample: Checking GNSS device readiness…
[00:00:19.931,000] gnss_sample: GNSS device is ready.
[00:00:19.931,000] main: GNSS initialized.
[00:00:19.931,000] websocket: Connecting WebSocket to echo.websocket.events:443/
[00:00:19.931,000] quectel_socket: Opening SSL socket to echo.websocket.events:443 (clientID=0)
[00:00:19.931,000] quectel_socket: quectel_socket_open: Closing stale SSL clientID 0 (if any)…
[00:00:19.931,000] quectel_at: response_processor_thread: RX: +QPING: 0,1,1,0,98,98,98
[00:00:19.931,000] quectel_at: urc_enqueue: URC enqueued: +QPING: 0,1,1,0,98,98,98
[00:00:20.031,000] quectel_at: quectel_at_send: TX: AT+QSSLCLOSE=0
[00:00:20.039,000] quectel_at: response_processor_thread: RX: ERROR
[00:00:20.539,000] quectel_at: quectel_at_send: TX: ATE0
[00:00:20.543,000] quectel_at: response_processor_thread: RX: OK
[00:00:20.644,000] quectel_at: quectel_at_send: TX: AT+QIACT?
[00:00:20.666,000] quectel_at: response_processor_thread: RX: +QIACT: 1,1,1,“10.200.102.204”
[00:00:20.666,000] quectel_at: response_processor_thread: RX: OK
[00:00:20.666,000] quectel_socket: PDP context 1 is already active
[00:00:20.666,000] quectel_socket: Using hostname directly for echo.websocket.events to ensure SNI works
[00:00:20.666,000] quectel_at: quectel_at_send: TX: AT+QSSLCFG=“sslversion”,0,3
[00:00:20.673,000] quectel_at: response_processor_thread: RX: OK
[00:00:20.673,000] quectel_at: quectel_at_send: TX: AT+QSSLCFG=“seclevel”,0,0
[00:00:20.681,000] quectel_at: response_processor_thread: RX: OK
[00:00:20.681,000] quectel_at: quectel_at_send: TX: AT+QSSLCFG=“sni”,0,1
[00:00:20.687,000] quectel_at: response_processor_thread: RX: OK
[00:00:20.687,000] quectel_at: quectel_at_send: TX: AT+QSSLCFG=“ciphersuite”,0,0x0035
[00:00:20.695,000] quectel_at: response_processor_thread: RX: OK
[00:00:20.695,000] quectel_at: quectel_at_send: TX: AT+QSSLCFG=“ignorelocaltime”,0,1
[00:00:20.703,000] quectel_at: response_processor_thread: RX: OK
[00:00:20.703,000] quectel_at: quectel_at_send: TX: AT+QSSLCFG=“negotiatetime”,0,60
[00:00:20.711,000] quectel_at: response_processor_thread: RX: OK
[00:00:20.711,000] quectel_at: quectel_at_send: TX: AT+QSSLCFG=“sslversion”,0
[00:00:20.723,000] quectel_at: response_processor_thread: RX: +QSSLCFG: “sslversion”,0,3
[00:00:20.723,000] quectel_at: response_processor_thread: RX: OK
[00:00:20.723,000] quectel_socket: quectel_socket_open: sslversion: +QSSLCFG: “sslversion”,0,3
[00:00:20.723,000] quectel_at: quectel_at_send: TX: AT+QSSLCFG=“seclevel”,0
[00:00:20.735,000] quectel_at: response_processor_thread: RX: +QSSLCFG: “seclevel”,0,0
[00:00:20.735,000] quectel_at: response_processor_thread: RX: OK
[00:00:20.735,000] quectel_socket: quectel_socket_open: seclevel: +QSSLCFG: “seclevel”,0,0
[00:00:21.235,000] quectel_at: quectel_at_send: TX: ATE0
[00:00:21.240,000] quectel_at: response_processor_thread: RX: OK
[00:00:22.240,000] quectel_socket: quectel_socket_open: Flushing stale URCs before QSSLOPEN…
[00:00:22.240,000] quectel_at: URC FIFO flushed (1 entries discarded)
[00:00:22.240,000] quectel_socket: AT+QSSLOPEN pdpctxID=1 sslctxID=0 clientID=0 connect_host=echo.websocket.events port=443 (orig_host=echo.websocket.events)
[00:00:22.240,000] quectel_at: quectel_at_send: TX: AT+QSSLOPEN=1,0,0,“echo.websocket.events”,443,0
[00:00:22.270,000] quectel_at: response_processor_thread: RX: OK
[00:00:22.271,000] quectel_socket: Waiting for ‘+QSSLOPEN: 0,’ URC (up to 60 s)…
[00:01:22.271,000] quectel_socket: Timeout waiting for +QSSLOPEN URC (60 s) - modem silent
[00:01:22.271,000] quectel_at: quectel_at_send: TX: AT+QIGETERROR
[00:01:22.282,000] quectel_at: response_processor_thread: RX: +QIGETERROR: 0,operate successfully
[00:01:22.282,000] quectel_at: response_processor_thread: RX: OK
[00:01:22.282,000] quectel_socket: QIGETERROR after timeout: +QIGETERROR: 0,operate successfully
[00:01:22.282,000] quectel_at: quectel_at_send: TX: AT+QSSLSTATE?
[00:01:24.283,000] quectel_at: AT command timeout: AT+QSSLSTATE?
[00:01:24.283,000] quectel_socket: Final SSL state: $( ��`�,(
[00:01:24.283,000] websocket: Failed to open socket
[00:01:24.283,000] main: Relay connection failed (-116). Retrying in 10s…