Serial LTE Modem HTTPS connect returned error 22

We are running the SLM application (build with native TLS overlay) on the nRF9160 DK with modem firmware version mfw_nrf9160_1.3.1.

Please take notice I tried the HTTPS client sample earlier and it worked well.

The root CA is set with the AT#XCMNG command at sectag 10.

AT#XHTTPCCON=1,"example.com",443,10

returned ERROR

RTT log shows the following:

00> [00:00:00.445,953] <dbg> nrf_modem: _nrf_modem_lib_init: Modem library has initialized, ret 0
00> [00:00:00.445,983] <dbg> nrf_modem: _nrf_modem_lib_init: Modem init callback: 0x5c0fb
00> [00:00:00.447,082] <dbg> nrf_modem: _nrf_modem_lib_init: Modem init callback: 0x3bea5
00> [00:00:00.447,113] <dbg> nrf_modem: _nrf_modem_lib_init: Modem init callback: 0x21e71
00> [00:00:00.447,113] <dbg> nrf_modem: _nrf_modem_lib_init: Modem init callback: 0x5bb27
00> [00:00:00.447,235] <inf> nrf_modem_lib_trace: Trace thread ready
00> [00:00:00.448,547] <inf> nrf_modem_lib_trace: Trace level override: 2
00> [00:00:00.452,087] <dbg> net_core: net_init: (0x20015108): Priority 90
00> [00:00:00.452,117] <dbg> net_core: l3_init: (0x20015108): Network L3 init done
00> [00:00:00.452,117] <dbg> net_if: net_if_init: (0x20015108): 
00> [00:00:00.452,148] <dbg> net_if: init_iface: (0x20015108): On iface 0x200127cc
00> [00:00:00.452,178] <dbg> net_if: net_if_post08): 
00> 
00> [00:02:29.603,149] <wrn> modem_key_mgmt: Key not found
00> [00:02:29.604,644] <wrn> modem_key_mgmt: Key not found
00> [00:02:29.604,827] <dbg> net_sock_tls: tls_alloc: (0x200151d8): Allocated TLS context, 0x200158d4
00> [00:02:30.028,503] <err> slm_httpc: connect() failed: -22
00> [00:02:30.028,564] <dbg> net_sock: z_impl_zsock_close: (0x200151d8): close: ctx=0x200158d4, fd=0
00> [00:02:30.028,686] <dbg> net_sock: z_impl_zsock_close: (0x200151d8): close: ctx=0x20016468, fd=1

connect failed with error 22: EINVAL, Invalid argument.

What to do?

  • Hi,

    I have two suggestions:

    1) modem_key_mgmt complains "Key not found", did you use " AT%CMNG=1" to check if there is something inside sectag 10?

    2) Are you using the latest NCS2.2.0? Can you update MFW to v1.3.4?

    Best regards,

    Charlie

  • Thanks for your advice.

    1) Yes, I used AT%CMNG=1 to check sectag 10.

    2). I'm using NCS v2.2.0 but not the latest MFW as I understand.

    I will update MFW to v1.3.4 and then retry my test.

  • I'm working now with MFW v1.3.4 and SLM (NCS v2.2.0). My current test is setting up a connection using the SLM AT#XHTTPCCON command.

    AT#XHTTPCCON returns OK only after loading the Root certificate using the certificate manager. When I load the certificate using AT%CMNG via the LTE Link Monitor Terminal it is not working. The last I don't understand.

    I also ran into issues when sending a HTTP POST using the AT#XHTTPCREQ command. I will create a separate ticket for this later.

  • Hi,

    Please refer to the commands for a test on nRF9160DK. 

    I have run nRF9160: HTTPS Client — nRF Connect SDK 2.2.0 documentation (nordicsemi.com) before so SEC_TAG 42 already have the CA for example.com. 

    2023-02-15T11:59:03.321Z DEBUG modem << Ready
    2023-02-15T11:59:15.742Z DEBUG modem >> AT%CMNG=1
    ***
    2023-02-15T11:59:15.885Z DEBUG modem << %CMNG: 42,0,"39FDCF28AEFFE08D03251FCCAF645E3C5DE****"
    ***
    2023-02-15T11:59:28.188Z DEBUG modem >> AT+CFUN=1
    2023-02-15T11:59:28.233Z DEBUG modem << OK
    2023-02-15T11:59:49.290Z DEBUG modem >> AT#XHTTPCCON=1,"example.com",443,42
    2023-02-15T11:59:51.281Z DEBUG modem << #XHTTPCCON: 1
    2023-02-15T11:59:51.287Z DEBUG modem << OK
    2023-02-15T11:59:59.484Z DEBUG modem >> AT#XHTTPCCON?
    2023-02-15T11:59:59.494Z DEBUG modem << #XHTTPCCON: 1,"example.com",443,42
    2023-02-15T11:59:59.496Z DEBUG modem << OK
    2023-02-15T12:00:09.580Z DEBUG modem >> AT#XHTTPCREQ="POST","/","","application/json",0
    2023-02-15T12:00:09.596Z DEBUG modem << OK
    2023-02-15T12:00:09.602Z DEBUG modem << #XHTTPCREQ: 0
    2023-02-15T12:00:10.457Z DEBUG modem << HTTP/1.1 200 OK
    2023-02-15T12:00:10.463Z DEBUG modem << Accept-Ranges: bytes
    2023-02-15T12:00:10.466Z DEBUG modem << Cache-Control: max-age=604800
    2023-02-15T12:00:10.468Z DEBUG modem << Content-Type: text/html; charset=UTF-8
    2023-02-15T12:00:10.471Z DEBUG modem << Date: Wed, 15 Feb 2023 12:00:10 GMT
    2023-02-15T12:00:10.472Z DEBUG modem << Etag: "3147526947"
    2023-02-15T12:00:10.480Z DEBUG modem << Expires: Wed, 22 Feb 2023 12:00:10 GMT
    2023-02-15T12:00:10.482Z DEBUG modem << Last-Modified: Thu, 17 Oct 2019 07:18:26 GMT
    2023-02-15T12:00:10.484Z DEBUG modem << Server: EOS (vny/0451)
    2023-02-15T12:00:10.485Z DEBUG modem << Content-Length: 1256
    2023-02-15T12:00:10.487Z DEBUG modem << #XHTTPCRSP:301,1
    2023-02-15T12:00:10.489Z DEBUG modem << <!doctype html>
    2023-02-15T12:00:10.490Z DEBUG modem << <html>
    2023-02-15T12:00:10.491Z DEBUG modem << <head>
    2023-02-15T12:00:10.499Z DEBUG modem <<     <title>Example Domain</title>
    2023-02-15T12:00:10.500Z DEBUG modem <<     <meta charset="utf-8" />
    2023-02-15T12:00:10.503Z DEBUG modem <<     <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    2023-02-15T12:00:10.506Z DEBUG modem <<     <meta name="viewport" content="width=device-width, initial-scale=1" />
    2023-02-15T12:00:10.508Z DEBUG modem <<     <style type="text/css">
    2023-02-15T12:00:10.516Z DEBUG modem <<     body {
    2023-02-15T12:00:10.518Z DEBUG modem <<         background-color: #f0f0f2;
    2023-02-15T12:00:10.519Z DEBUG modem <<         margin: 0;
    2023-02-15T12:00:10.520Z DEBUG modem <<         padding: 0;
    2023-02-15T12:00:10.532Z DEBUG modem <<         font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    2023-02-15T12:00:10.533Z DEBUG modem <<     }
    2023-02-15T12:00:10.535Z DEBUG modem <<     div {
    2023-02-15T12:00:10.536Z DEBUG modem <<         width: 600px;
    2023-02-15T12:00:10.538Z DEBUG modem <<         margin: 5em auto;
    2023-02-15T12:00:10.540Z DEBUG modem <<         padding: 2em;
    2023-02-15T12:00:10.548Z DEBUG modem <<         background-color: #fdfdff;
    2023-02-15T12:00:10.549Z DEBUG modem <<         border-radius: 0.5em;
    2023-02-15T12:00:10.551Z DEBUG modem <<         box-shadow: 2px 3px 7px 2px rgba(0,0,0,0.02);
    2023-02-15T12:00:10.552Z DEBUG modem <<     }
    2023-02-15T12:00:10.553Z DEBUG modem <<     a:link, a:visited {
    2023-02-15T12:00:10.555Z DEBUG modem <<         color: #38488f;
    2023-02-15T12:00:10.556Z DEBUG modem <<         text-decoration: none;
    2023-02-15T12:00:10.558Z DEBUG modem <<     }
    2023-02-15T12:00:10.566Z DEBUG modem <<     @media (max-width: 700px) {
    2023-02-15T12:00:10.567Z DEBUG modem <<         div {
    2023-02-15T12:00:10.569Z DEBUG modem <<             margin: 0 auto;
    2023-02-15T12:00:10.571Z DEBUG modem <<             width: auto;
    2023-02-15T12:00:10.572Z DEBUG modem <<         }
    2023-02-15T12:00:10.574Z DEBUG modem <<     }
    2023-02-15T12:00:10.575Z DEBUG modem <<     </style>    
    2023-02-15T12:00:10.576Z DEBUG modem << </head>
    2023-02-15T12:00:10.579Z DEBUG modem << <body>
    2023-02-15T12:00:10.580Z DEBUG modem << <div>
    2023-02-15T12:00:10.588Z DEBUG modem <<     <h1>Example Domain</h1>
    2023-02-15T12:00:10.590Z DEBUG modem <<     <p>This domain is for use in illustrative examples in documents. You may use this
    2023-02-15T12:00:10.600Z DEBUG modem <<     domain in literature without prior coordination or asking for permission.</p>
    2023-02-15T12:00:10.601Z DEBUG modem <<     <p><a href="https://www.iana.org/domains/example">More information...</a></p>
    2023-02-15T12:00:10.603Z DEBUG modem << </div>
    2023-02-15T12:00:10.605Z DEBUG modem << </body>
    2023-02-15T12:00:10.606Z DEBUG modem << </html>
    2023-02-15T12:00:10.607Z DEBUG modem << #XHTTPCRSP:1256,1
    2023-02-15T11:59:03.321Z DEBUG modem << Ready
    2023-02-15T11:59:15.742Z DEBUG modem >> AT%CMNG=1
    2023-02-15T11:59:15.868Z DEBUG modem << %CMNG: 12,3,"9B0C8FE7D4B23027A282FBDDAA4A8FE6640C6E6F5D85F9005ACA8AE0BCED1ED4"
    2023-02-15T11:59:15.879Z DEBUG modem << %CMNG: 12,4,"DCA23A131AB08D9D88AA43888C13BE8CDDB340261A9E5891C56FD0E63C84E79D"
    2023-02-15T11:59:15.885Z DEBUG modem << %CMNG: 42,0,"39FDCF28AEFFE08D03251FCCAF645E3C5DE19FA4EBBAFC89B4EDE2A422148BAB"
    2023-02-15T11:59:15.895Z DEBUG modem << %CMNG: 168,2,"BBF1B9839F8020E07AB9C2442547FA6913E3CB6DEA868BE964912A9F74B6F03A"
    2023-02-15T11:59:15.902Z DEBUG modem << %CMNG: 411,0,"5D550643B6400D4341550A9B14AEDD0B4FAC33AE5DEB7D8247B6B4F799C13306"
    2023-02-15T11:59:15.911Z DEBUG modem << %CMNG: 412,0,"C2E53869FAE4DD408EC0797888FA2A07A4A34C0EECCE5FA61B23873CFE7196EF"
    2023-02-15T11:59:15.918Z DEBUG modem << %CMNG: 12345,2,"1F3287FDB240A7DEB4CDD199B0E4803E140D8CC11DCEE58EF0E993C34C88A0A4"
    2023-02-15T11:59:15.925Z DEBUG modem << %CMNG: 16888,0,"A86D8BF8D75130765A6453960E0E4E5158E0F3E43F86699EFE36190C463A25CF"
    2023-02-15T11:59:15.933Z DEBUG modem << %CMNG: 16888,1,"9673F9E18D36B0933B0F26F7CAEEF3C386EFFF4B3A4B2D4385653FBC56103DE8"
    2023-02-15T11:59:15.938Z DEBUG modem << %CMNG: 16888,2,"EA5C63DA758B1593158833D527A22A929AD17002A53DC02E6B3F158B590DCFC6"
    2023-02-15T11:59:15.947Z DEBUG modem << %CMNG: 16842753,0,"2C43952EE9E000FF2ACC4E2ED0897C0A72AD5FA72C3D934E81741CBD54F05BD1"
    2023-02-15T11:59:15.952Z DEBUG modem << %CMNG: 16842753,1,"637EFE7669A851FCA4D5E4E4A71C3F7E9092513130F7D9497A53CD17727097C4"
    2023-02-15T11:59:15.960Z DEBUG modem << %CMNG: 16842753,2,"D1F1D893D9B2188005AA0F1DB70AC50E5983A501780271C7260C489DF2D54BBD"
    2023-02-15T11:59:15.967Z DEBUG modem << %CMNG: 16842754,0,"A86D8BF8D75130765A6453960E0E4E5158E0F3E43F86699EFE36190C463A25CF"
    2023-02-15T11:59:15.976Z DEBUG modem << %CMNG: 16842754,1,"08E6708AAFFB2553355B44A0B0664E569F181F90410907D628E6A747D45FF7A8"
    2023-02-15T11:59:15.982Z DEBUG modem << %CMNG: 16842754,2,"16D1F989EBD937FF327FFB04A753AD0FA4B8E6177CF1903FBB5D24219616F31C"
    2023-02-15T11:59:15.986Z DEBUG modem << %CMNG: 35724861,3,"D65DF89F702EEC58CA3C7BF2001C9FFC7CD80553AE01D42A799BA26756142D96"
    2023-02-15T11:59:15.995Z DEBUG modem << %CMNG: 35724861,4,"D34105441B5EA892F59A3C0573FBFECB7848F034239921970732E02AE0ECF225"
    2023-02-15T11:59:16.000Z DEBUG modem << %CMNG: 4294967293,10,"2C43952EE9E000FF2ACC4E2ED0897C0A72AD5FA72C3D934E81741CBD54F05BD1"
    2023-02-15T11:59:16.009Z DEBUG modem << %CMNG: 4294967294,6,"EB3DA4221733095C313EB217C46E38A56FEFBEBAFDFE8EE37A14F21598CD1A54"
    2023-02-15T11:59:16.016Z DEBUG modem << %CMNG: 4294967292,11,"B2C46C2AE7C81943A8BD6DD4ED2A50B659A225A098A177BACB575459CD57CAEF"
    2023-02-15T11:59:16.020Z DEBUG modem << OK
    2023-02-15T11:59:28.188Z DEBUG modem >> AT+CFUN=1
    2023-02-15T11:59:28.233Z DEBUG modem << OK
    2023-02-15T11:59:33.032Z DEBUG modem >> AT+CFUN=?
    2023-02-15T11:59:33.050Z DEBUG modem << +CFUN: (0,1,2,4,20,21,30,31,40,41,44)
    2023-02-15T11:59:33.052Z DEBUG modem << OK
    2023-02-15T11:59:35.387Z DEBUG modem >> AT+CFUN?
    2023-02-15T11:59:35.403Z DEBUG modem << +CFUN: 1
    2023-02-15T11:59:35.416Z DEBUG modem << OK
    2023-02-15T11:59:49.290Z DEBUG modem >> AT#XHTTPCCON=1,"example.com",443,42
    2023-02-15T11:59:50.291Z ERROR Error: 'AT#XHTTPCCON=1,"example.com",443,42
    ' timed out
    2023-02-15T11:59:51.281Z DEBUG modem << #XHTTPCCON: 1
    2023-02-15T11:59:51.287Z DEBUG modem << OK
    2023-02-15T11:59:59.484Z DEBUG modem >> AT#XHTTPCCON?
    2023-02-15T11:59:59.494Z DEBUG modem << #XHTTPCCON: 1,"example.com",443,42
    2023-02-15T11:59:59.496Z DEBUG modem << OK
    2023-02-15T12:00:09.580Z DEBUG modem >> AT#XHTTPCREQ="POST","/","","application/json",0
    2023-02-15T12:00:09.596Z DEBUG modem << OK
    2023-02-15T12:00:09.602Z DEBUG modem << #XHTTPCREQ: 0
    2023-02-15T12:00:10.457Z DEBUG modem << HTTP/1.1 200 OK
    2023-02-15T12:00:10.463Z DEBUG modem << Accept-Ranges: bytes
    2023-02-15T12:00:10.466Z DEBUG modem << Cache-Control: max-age=604800
    2023-02-15T12:00:10.468Z DEBUG modem << Content-Type: text/html; charset=UTF-8
    2023-02-15T12:00:10.471Z DEBUG modem << Date: Wed, 15 Feb 2023 12:00:10 GMT
    2023-02-15T12:00:10.472Z DEBUG modem << Etag: "3147526947"
    2023-02-15T12:00:10.480Z DEBUG modem << Expires: Wed, 22 Feb 2023 12:00:10 GMT
    2023-02-15T12:00:10.482Z DEBUG modem << Last-Modified: Thu, 17 Oct 2019 07:18:26 GMT
    2023-02-15T12:00:10.484Z DEBUG modem << Server: EOS (vny/0451)
    2023-02-15T12:00:10.485Z DEBUG modem << Content-Length: 1256
    2023-02-15T12:00:10.487Z DEBUG modem << #XHTTPCRSP:301,1
    2023-02-15T12:00:10.489Z DEBUG modem << <!doctype html>
    2023-02-15T12:00:10.490Z DEBUG modem << <html>
    2023-02-15T12:00:10.491Z DEBUG modem << <head>
    2023-02-15T12:00:10.499Z DEBUG modem <<     <title>Example Domain</title>
    2023-02-15T12:00:10.500Z DEBUG modem <<     <meta charset="utf-8" />
    2023-02-15T12:00:10.503Z DEBUG modem <<     <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    2023-02-15T12:00:10.506Z DEBUG modem <<     <meta name="viewport" content="width=device-width, initial-scale=1" />
    2023-02-15T12:00:10.508Z DEBUG modem <<     <style type="text/css">
    2023-02-15T12:00:10.516Z DEBUG modem <<     body {
    2023-02-15T12:00:10.518Z DEBUG modem <<         background-color: #f0f0f2;
    2023-02-15T12:00:10.519Z DEBUG modem <<         margin: 0;
    2023-02-15T12:00:10.520Z DEBUG modem <<         padding: 0;
    2023-02-15T12:00:10.532Z DEBUG modem <<         font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    2023-02-15T12:00:10.533Z DEBUG modem <<     }
    2023-02-15T12:00:10.535Z DEBUG modem <<     div {
    2023-02-15T12:00:10.536Z DEBUG modem <<         width: 600px;
    2023-02-15T12:00:10.538Z DEBUG modem <<         margin: 5em auto;
    2023-02-15T12:00:10.540Z DEBUG modem <<         padding: 2em;
    2023-02-15T12:00:10.548Z DEBUG modem <<         background-color: #fdfdff;
    2023-02-15T12:00:10.549Z DEBUG modem <<         border-radius: 0.5em;
    2023-02-15T12:00:10.551Z DEBUG modem <<         box-shadow: 2px 3px 7px 2px rgba(0,0,0,0.02);
    2023-02-15T12:00:10.552Z DEBUG modem <<     }
    2023-02-15T12:00:10.553Z DEBUG modem <<     a:link, a:visited {
    2023-02-15T12:00:10.555Z DEBUG modem <<         color: #38488f;
    2023-02-15T12:00:10.556Z DEBUG modem <<         text-decoration: none;
    2023-02-15T12:00:10.558Z DEBUG modem <<     }
    2023-02-15T12:00:10.566Z DEBUG modem <<     @media (max-width: 700px) {
    2023-02-15T12:00:10.567Z DEBUG modem <<         div {
    2023-02-15T12:00:10.569Z DEBUG modem <<             margin: 0 auto;
    2023-02-15T12:00:10.571Z DEBUG modem <<             width: auto;
    2023-02-15T12:00:10.572Z DEBUG modem <<         }
    2023-02-15T12:00:10.574Z DEBUG modem <<     }
    2023-02-15T12:00:10.575Z DEBUG modem <<     </style>    
    2023-02-15T12:00:10.576Z DEBUG modem << </head>
    2023-02-15T12:00:10.579Z DEBUG modem << <body>
    2023-02-15T12:00:10.580Z DEBUG modem << <div>
    2023-02-15T12:00:10.588Z DEBUG modem <<     <h1>Example Domain</h1>
    2023-02-15T12:00:10.590Z DEBUG modem <<     <p>This domain is for use in illustrative examples in documents. You may use this
    2023-02-15T12:00:10.600Z DEBUG modem <<     domain in literature without prior coordination or asking for permission.</p>
    2023-02-15T12:00:10.601Z DEBUG modem <<     <p><a href="https://www.iana.org/domains/example">More information...</a></p>
    2023-02-15T12:00:10.603Z DEBUG modem << </div>
    2023-02-15T12:00:10.605Z DEBUG modem << </body>
    2023-02-15T12:00:10.606Z DEBUG modem << </html>
    2023-02-15T12:00:10.607Z DEBUG modem << #XHTTPCRSP:1256,1

    Best regards,

    Charlie

Related