I'm trying to run the vanilla HTTPS sample on the nRF9161 DK: sdk-nrf/samples/net/https_client/README.rst at 4b9841a28e97e9d61b93f8981375d644b9d04ea0 · nrfconnect/sdk-nrf
The sample does not compile. In fact, I get a lot of the same issues as described in this thread:
(7) TLS on Thingy91 not working - Nordic Q&A - Nordic DevZone - Nordic DevZone
After tweaking the sample to add in some missing config (CONFIG_TLS_CREDENTIALS=y and CONFIG_MODEM_KEY_MGMT=y), it compiles, but gets an overflow exception:
Connecting to the network +CGEV: EXCE STATUS 0 +CEREG: 2,"4128","03437E10",7 +CSCON: 1 +CGEV: ME PDN ACT 0,0 +CNEC_ESM: 50,0 +CEREG: 5,"4128","03437E10",7,,,"11100000","11100000" +CEDRXP: 4,"1001","1001","0001" %XTIME: "4A","4211810065224A","00" [00:00:09.527,191] <err> os: ***** USAGE FAULT ***** [00:00:09.535,095] <err> os: Stack overflow (context area not valid) [00:00:09.544,616] <err> os: r0/a1: 0xaaaaaaaa r1/a2: 0xaaaaaaaa r2/a3: 0x0002b37e [00:00:09.555,603] <err> os: r3/a4: 0x01000000 r12/ip: 0xaaaaaaaa r14/lr: 0xaaaaaaaa [00:00:09.566,558] <err> os: xpsr: 0xaaaaaa00 [00:00:09.574,066] <err> os: s[ 0]: 0xaaaaaaaa s[ 1]: 0xaaaaaaaa s[ 2]: 0xaaaaaaaa s[ 3]: 0x00000001 [00:00:09.586,822] <err> os: s[ 4]: 0x00032e38 s[ 5]: 0x00032e38 s[ 6]: 0x0000004e s[ 7]: 0x20020118 [00:00:09.599,578] <err> os: s[ 8]: 0x00000000 s[ 9]: 0x0002be1f s[10]: 0x0000004e s[11]: 0x0002af7b [00:00:09.612,335] <err> os: s[12]: 0x0000004e s[13]: 0x4e032e38 s[14]: 0x20020228 s[15]: 0x0002af9b [00:00:09.625,030] <err> os: fpscr: 0x0002af83 [00:00:09.632,507] <err> os: Faulting instruction address (r15/pc): 0xaaaaaaaa [00:00:09.642,700] <err> os: >>> ZEPHYR FATAL ERROR 2: Stack overflow on CPU 0 [00:00:09.652,893] <err> os: Current thread: 0x2000ea38 (net_mgmt) [00:00:09.662,017] <err> os: Halting system
I am on SDK v2.7 and firmware mfw_nrf91x1_2.0.1.
I have spent the last 16 hours trying to get a basic HTTPS request through. I tried the sample included in the nRF SDK to no avail, I've tried the various http_get, http_client, websocket, etc. samples in the Zephyr SDK, I've tried using socket offloading and also native network + mbedTLS, I've tried both the POSIX version of the APIs and the Zephyr versions, etc. -- I can't get any of them to succeed. A normal plaintext/HTTP connection works fine. However, I can't get any of the HTTPS samples in vanilla form to successfully run on the nRF9161 DK without hanging, crashing, or straight up failing to compile. I tried swapping them all over to my domain and my domain's CA certificate to no avail either. Can anyone point me to a working example of HTTPS?
Better yet, is there any higher-level API where I don't have to manually manage sockets, do DNS lookups (getaddrinfo), or manually set up TLS options just to make a basic REST API call? I had hoped that this stuff would've been abstracted out by the underlying libraries.