This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Using getaddrinfo for DNS-Lookups (nrf9160 DK)

Hello!

I'm currently trying to run the mqtt_simple sample (latest version of nrf-zephyr) on the nrf9160 DK. Unfortunately it is not working, because getaddrinfo() returns 22 (EINVAL?).

I'm trying to run the sample using NB-IoT. For that I flashed the appropriate firmware (pre-alpha) and I'm also using an appropriate SIM-card. TCP connections alone (without getaddrinfo()) are working and I'm able to exchange data with a server over the internet.

Specifically the DNS-lookup with getaddrinfo() seems to run into trouble. I also tried to pass an IP-Address to getaddrinfo(). In that case it returns no error, but gives incomplete results (Address correct, but hints about e.g. socktype ignored).

My best guess would be that the nrf_getaddrinfo() implementation is incomplete here. I would be happy about any information about this.

Parents Reply Children
  • Alright I got it working, I had the nRF Command Line Tools not installed on my system so I was just missing the nrfjprog binary. So it turns out the nRF Connect Programmer works with the nRF9160 despite the Github page not saying so.

    So now my question is: How to use the newly implemented feature? I tried to set these configuration options:

    CONFIG_DNS_RESOLVER=y
    CONFIG_DNS_SERVER_IP_ADDRESSES=y
    CONFIG_DNS_SERVER1="8.8.8.8"

    It is still generating the error of the original post. I guess these configuration options only apply to the zephyr resolve library.

    Is there perhaps an AT-command that is not documented yet? I'm looking at the AT Command Reference v1.0.

Related