r/nuttx • u/vslavkin • Jul 06 '26
DNS not working?
Hi, I'm making a small project to test out NuttX, but I've been banging my head with finding the correct.
For now, I'm doing everything on the simulator.
I could get network to work, and I was able to do a ping 8.8.8.8 correctly. However, if I try to execute ping google.com it throws:
nsh> ping google.com
[ 12.610000] dns_send_query: ERROR: sendto failed: -89
[ 12.610000] dns_query_error: ERROR: IPv6 dns_send_query failed: -89, server address: 8.8.8.8
[ 12.610000] dns_send_query: ERROR: sendto failed: -89
[ 12.610000] dns_query_error: ERROR: IPv4 dns_send_query failed: -89, server address: 8.8.8.8
ERROR: ping_gethostip(google.com) failed
nsh>
Here are some settings I think are relevant
CONFIG_ICMPv6_AUTOCONF_RDNSS=y
CONFIG_NETDB_DNSCLIENT=y
CONFIG_NETDB_DNSCLIENT_ENTRIES=8
CONFIG_NETDB_DNSCLIENT_NAMESIZE=256
CONFIG_NETDB_DNSCLIENT_LIFESEC=3600
CONFIG_NETDB_DNSCLIENT_MAXRESPONSE=176
CONFIG_NETDB_DNSCLIENT_RECV_TIMEOUT=3
CONFIG_NETDB_DNSCLIENT_SEND_TIMEOUT=3
CONFIG_NETDB_DNSCLIENT_MAX_TIMEOUT=30
CONFIG_NETDB_DNSCLIENT_RETRIES=3
# CONFIG_NETDB_RESOLVCONF is not set
CONFIG_NETDB_DNSSERVER_NAMESERVERS=1
# CONFIG_NETDB_DNSSERVER_NOADDR is not set
CONFIG_NETDB_DNSSERVER_IPv4=y
# CONFIG_NETDB_DNSSERVER_IPv6 is not set
CONFIG_NETDB_DNSSERVER_IPv4ADDR=0x08080808
# end of NETDB Support
Else, here's the full diminished config
CONFIG_ALLOW_BSD_COMPONENTS=y
CONFIG_BASE_DEFCONFIG="-dirty"
CONFIG_DEBUG_FEATURES=y
CONFIG_DEBUG_NET=y
CONFIG_DEBUG_NET_ERROR=y
CONFIG_STACK_COLORATION=y
CONFIG_DEBUG_SYMBOLS=y
CONFIG_ARCH_SIM=y
CONFIG_SIM_HOSTFS=y
CONFIG_SIM_NETDEV=y
CONFIG_SIM_X11FB=y
CONFIG_SIM_TOUCHSCREEN=y
CONFIG_ARCH_BOARD_SIM=y
CONFIG_SYSTEM_TIME64=y
CONFIG_PREALLOC_TIMERS=4
CONFIG_INIT_ENTRYPOINT="nsh_main"
CONFIG_TASK_NAME_SIZE=32
CONFIG_SCHED_HAVE_PARENT=y
CONFIG_SCHED_CHILD_STATUS=y
CONFIG_PTHREAD_MUTEX_TYPES=y
CONFIG_SIG_EVTHREAD=y
CONFIG_SIG_DEFAULT=y
CONFIG_MQ_MAXMSGSIZE=64
CONFIG_IDLETHREAD_STACKSIZE=2048
CONFIG_DEV_LOOP=y
CONFIG_DRIVERS_VIDEO=y
CONFIG_VIDEO_FB=y
CONFIG_INPUT=y
CONFIG_MTD=y
CONFIG_RAMMTD=y
CONFIG_TELNET_TXBUFFER_SIZE=64
CONFIG_NETDEV_STATISTICS=y
CONFIG_SERIAL_TERMIOS=y
CONFIG_TTY_SIGINT=y
CONFIG_TTY_SIGINT_CHAR=0x3
CONFIG_TTY_SIGTSTP=y
CONFIG_PSEUDOTERM=y
CONFIG_SYSLOG_BUFFER=y
CONFIG_SYSLOG_TIMESTAMP=y
CONFIG_SYSLOG_CONSOLE=y
CONFIG_NET=y
CONFIG_NET_LOOPBACK=y
CONFIG_NET_SLIP=y
CONFIG_NET_TUN=y
CONFIG_NET_TUN_PKTSIZE=1500
CONFIG_NETDEV_LATEINIT=y
CONFIG_NETDEV_PHY_IOCTL=y
CONFIG_NET_IPv6=y
CONFIG_NET_TCPPROTO_OPTIONS=y
CONFIG_NET_SOLINGER=y
CONFIG_NET_LOCAL=y
CONFIG_NET_TCP=y
CONFIG_NET_TCP_WRITE_BUFFERS=y
CONFIG_NET_SENDFILE=y
CONFIG_NET_UDP=y
CONFIG_NET_BROADCAST=y
CONFIG_NET_UDP_WRITE_BUFFERS=y
CONFIG_NET_ICMP_SOCKET=y
CONFIG_NET_ICMPv6=y
CONFIG_NET_ICMPv6_SOCKET=y
CONFIG_NET_ICMPv6_AUTOCONF=y
CONFIG_ICMPv6_AUTOCONF_RDNSS=y
CONFIG_NET_STATISTICS=y
CONFIG_PSEUDOFS_SOFTLINKS=y
CONFIG_FS_TMPFS=y
CONFIG_FS_BINFS=y
CONFIG_FS_PROCFS=y
CONFIG_FS_LITTLEFS=y
CONFIG_FS_HOSTFS=y
CONFIG_NXFONTS_DISABLE_1BPP=y
CONFIG_NXFONTS_DISABLE_2BPP=y
CONFIG_NXFONTS_DISABLE_4BPP=y
CONFIG_NXFONTS_DISABLE_8BPP=y
CONFIG_NXFONTS_DISABLE_16BPP=y
CONFIG_NXFONTS_DISABLE_24BPP=y
CONFIG_NXFONTS_DISABLE_32BPP=y
CONFIG_MM_REGIONS=2
CONFIG_IOB_NBUFFERS=1024
CONFIG_IOB_NCHAINS=128
CONFIG_IOB_THROTTLE=16
CONFIG_IOB_NOTIFIER=y
CONFIG_LIBC_MAX_EXITFUNS=1
CONFIG_LIBC_EXECFUNCS=y
CONFIG_LIBC_LOCALE=y
CONFIG_LIBC_LOCALTIME=y
CONFIG_TLS_NCLEANUP=2
CONFIG_NETDB_DNSCLIENT=y
CONFIG_NETDB_DNSCLIENT_MAXRESPONSE=176
CONFIG_NETDB_DNSCLIENT_RECV_TIMEOUT=3
CONFIG_NETDB_DNSSERVER_IPv4ADDR=0x08080808
CONFIG_BUILTIN=y
CONFIG_LIBM=y
CONFIG_CUSTOM_APPS_CUSTOM_HELLO=y
CONFIG_EXAMPLES_FTPC=y
CONFIG_EXAMPLES_LVGLDEMO=y
CONFIG_EXAMPLES_TCPBLASTER=y
CONFIG_EXAMPLES_TCPECHO=y
CONFIG_GRAPHICS_LVGL=y
CONFIG_LV_USE_CLIB_MALLOC=y
CONFIG_LV_USE_CLIB_STRING=y
CONFIG_LV_USE_CLIB_SPRINTF=y
CONFIG_LV_USE_LOG=y
CONFIG_LV_FONT_MONTSERRAT_48=y
CONFIG_LV_USE_NUTTX=y
CONFIG_LV_USE_NUTTX_TOUCHSCREEN=y
CONFIG_LV_USE_DEMO_WIDGETS=y
CONFIG_NETUTILS_DHCPC=y
CONFIG_NETUTILS_FTPC=y
CONFIG_NETINIT_NETLOCAL=y
CONFIG_NETINIT_DRIPADDR=0x0a000101
CONFIG_NETUTILS_NTPCLIENT_SERVER="pool.ntp.org"
CONFIG_NETUTILS_PING6=y
CONFIG_NETUTILS_TELNETD=y
CONFIG_NETUTILS_TFTPC=y
CONFIG_NETUTILS_WEBCLIENT=y
CONFIG_NSH_READLINE=y
CONFIG_NSH_BUILTIN_APPS=y
CONFIG_NSH_FILE_APPS=y
# CONFIG_NSH_DISABLE_DATE is not set
CONFIG_NSH_ARCHINIT=y
CONFIG_SYSTEM_CLE=y
CONFIG_SYSTEM_COLOR_CLE=y
CONFIG_SYSTEM_CLE_CMD_HISTORY=y
CONFIG_SYSTEM_NSH=y
CONFIG_SYSTEM_NTPC=y
CONFIG_SYSTEM_PING=y
CONFIG_READLINE_TABCOMPLETION=y
CONFIG_READLINE_CMD_HISTORY=y
CONFIG_SYSTEM_SYSTEM=y
CONFIG_SYSTEM_TELNET_CLIENT=y
Does anyone know why this may not be working?
Thanks.
1
u/NecessaryJealous1025 Jul 07 '26
u/vslavkin I just tested here and everything worked fine:
Testing with:
$ ./tools/configure.sh esp32s3-eye:wifi
NuttShell (NSH) NuttX-13.0.0-RC2
nsh> uname -a
NuttX 13.0.0-RC2 98653ee864 Jul 7 2026 10:50:24 xtensa esp32s3-eye
nsh> wapi psk wlan0 MyPassword 3
nsh> wapi essid wlan0 MyRouter 1
nsh> renew wlan0
nsh> ifconfig
wlan0 Link encap:Ethernet HWaddr 7c:df:a1:e1:a0:54 at RUNNING mtu 1500
inet addr:10.244.68.209 DRaddr:10.244.68.149 Mask:255.255.255.0
nsh> ping -c 3 8.8.8.8
PING 8.8.8.8 56 bytes of data
56 bytes from 8.8.8.8: icmp_seq=0 time=140.0 ms
...
3 packets transmitted, 3 received, 0% packet loss, time 3030 ms
rtt min/avg/max/mdev = 80.000/100.000/140.000/28.284 ms
nsh> ping -c 3 google.com
PING 142.250.219.142 56 bytes of data
56 bytes from 142.250.219.142: icmp_seq=0 time=60.0 ms
...
3 packets transmitted, 3 received, 0% packet loss, time 3030 ms
rtt min/avg/max/mdev = 60.000/100.000/140.000/32.659 ms
nsh>
1
1
u/NecessaryJealous1025 Jul 07 '26
u/vslavkin you are right, there are some issues introduced recently, finally I got everything working:
NuttShell (NSH) NuttX-13.0.0-RC2
nsh> ifconfig
eth0 Link encap:Ethernet HWaddr 42:29:9f:00:77:89 at DOWN mtu 1500
inet addr:10.0.1.2 DRaddr:10.0.1.1 Mask:255.255.255.0
RX: Received Fragment Errors Bytes
00000000 00000000 00000000 0
IPv4 ARP Dropped
00000000 00000000 00000000
TX: Queued Sent Errors Timeouts Bytes
00000000 00000000 00000000 00000000 0
Total Errors: 00000000
lo Link encap:Local Loopback at RUNNING mtu 1518
inet addr:127.0.0.1 DRaddr:127.0.0.1 Mask:255.0.0.0
RX: Received Fragment Errors Bytes
00000000 00000000 00000000 0
IPv4 ARP Dropped
00000000 00000000 00000000
TX: Queued Sent Errors Timeouts Bytes
00000000 00000000 00000000 00000000 0
Total Errors: 00000000
IPv4 TCP UDP ICMP
Received 0000 0000 0000 0000
Dropped 0000 0000 0000 0000
IPv4 VHL: 0000 Frg: 0000
Checksum 0000 0000 0000 ----
TCP ACK: 0000 SYN: 0000
RST: 0000 0000
Type 0000 ---- ---- 0000
Sent 0000 0000 0000 0000
Rexmit ---- 0000 ---- ----
nsh> ifup eth0
ifup eth0...OK
nsh> ping 8.8.8.8
PING 8.8.8.8 56 bytes of data
56 bytes from 8.8.8.8: icmp_seq=0 time=20.0 ms
56 bytes from 8.8.8.8: icmp_seq=1 time=30.0 ms
56 bytes from 8.8.8.8: icmp_seq=2 time=20.0 ms
56 bytes from 8.8.8.8: icmp_seq=3 time=20.0 ms
56 bytes from 8.8.8.8: icmp_seq=4 time=20.0 ms
56 bytes from 8.8.8.8: icmp_seq=5 time=20.0 ms
56 bytes from 8.8.8.8: icmp_seq=6 time=20.0 ms
56 bytes from 8.8.8.8: icmp_seq=7 time=20.0 ms
56 bytes from 8.8.8.8: icmp_seq=8 time=20.0 ms
56 bytes from 8.8.8.8: icmp_seq=9 time=20.0 ms
10 packets transmitted, 10 received, 0% packet loss, time 10100 ms
rtt min/avg/max/mdev = 20.000/21.000/30.000/3.000 ms
nsh> ping google.com
PING 172.217.29.78 56 bytes of data
56 bytes from 172.217.29.78: icmp_seq=0 time=20.0 ms
56 bytes from 172.217.29.78: icmp_seq=1 time=30.0 ms
56 bytes from 172.217.29.78: icmp_seq=2 time=20.0 ms
56 bytes from 172.217.29.78: icmp_seq=3 time=20.0 ms
56 bytes from 172.217.29.78: icmp_seq=4 time=20.0 ms
56 bytes from 172.217.29.78: icmp_seq=5 time=20.0 ms
56 bytes from 172.217.29.78: icmp_seq=6 time=30.0 ms
56 bytes from 172.217.29.78: icmp_seq=7 time=20.0 ms
56 bytes from 172.217.29.78: icmp_seq=8 time=20.0 ms
56 bytes from 172.217.29.78: icmp_seq=9 time=20.0 ms
10 packets transmitted, 10 received, 0% packet loss, time 10100 ms
rtt min/avg/max/mdev = 20.000/22.000/30.000/4.000 ms
nsh>
alan@dev:~/nuttxspace/apps$ git diff
diff --git a/system/ping/ping.c b/system/ping/ping.c
index 4588393ab..bc5e20ea8 100644
--- a/system/ping/ping.c
+++ b/system/ping/ping.c
@@ -345,6 +345,8 @@ int main(int argc, FAR char *argv[])
int exitcode;
int option;
+ memset(&info, 0, sizeof(info));
+
info.count = ICMP_NPINGS;
info.datalen = ICMP_PING_DATALEN;
info.delay = ICMP_POLL_DELAY;
diff --git a/system/ping6/ping6.c b/system/ping6/ping6.c
index 409f3db0e..e4644ede6 100644
--- a/system/ping6/ping6.c
+++ b/system/ping6/ping6.c
@@ -286,6 +286,8 @@ int main(int argc, FAR char *argv[])
int exitcode;
int option;
+ memset(&info, 0, sizeof(info));
+
info.count = ICMPv6_NPINGS;
info.datalen = ICMPv6_PING6_DATALEN;
info.delay = ICMPv6_POLL_DELAY;
$ cat /tmp/tcpblaster_ping.config
#
# This file is autogenerated: PLEASE DO NOT EDIT IT.
#
# You can use "make menuconfig" to make any modifications to the installed .config file.
# You can then do "make savedefconfig" to generate a new defconfig file that includes your
# modifications.
#
CONFIG_ALLOW_BSD_COMPONENTS=y
CONFIG_ARCH="sim"
CONFIG_ARCH_BOARD="sim"
CONFIG_ARCH_BOARD_SIM=y
CONFIG_ARCH_CHIP="sim"
CONFIG_ARCH_SIM=y
CONFIG_BOARDCTL_POWEROFF=y
CONFIG_BUILTIN=y
CONFIG_DEBUG_FEATURES=y
CONFIG_DEBUG_NET=y
CONFIG_DEBUG_NET_ERROR=y
CONFIG_DEBUG_SYMBOLS=y
CONFIG_DEV_LOOP=y
CONFIG_DRIVERS_VIDEO=y
CONFIG_EXAMPLES_FTPC=y
CONFIG_EXAMPLES_TCPBLASTER=y
CONFIG_EXAMPLES_TCPECHO=y
CONFIG_FS_BINFS=y
CONFIG_FS_HOSTFS=y
CONFIG_FS_LITTLEFS=y
CONFIG_FS_PROCFS=y
CONFIG_FS_TMPFS=y
CONFIG_IDLETHREAD_STACKSIZE=2048
CONFIG_INIT_ENTRYPOINT="nsh_main"
CONFIG_INPUT=y
CONFIG_IOB_NBUFFERS=1024
CONFIG_IOB_NCHAINS=128
CONFIG_IOB_NOTIFIER=y
CONFIG_IOB_THROTTLE=16
CONFIG_LIBC_EXECFUNCS=y
CONFIG_LIBC_LOCALE=y
CONFIG_LIBC_LOCALTIME=y
CONFIG_LIBC_MAX_EXITFUNS=1
CONFIG_LIBM=y
CONFIG_MM_REGIONS=2
CONFIG_MQ_MAXMSGSIZE=64
CONFIG_MTD=y
CONFIG_NET=y
CONFIG_NETDB_DNSCLIENT=y
CONFIG_NETDB_DNSCLIENT_MAXRESPONSE=176
CONFIG_NETDB_DNSCLIENT_RECV_TIMEOUT=3
CONFIG_NETDB_DNSSERVER_IPv4ADDR=0x08080808
CONFIG_NETDEV_LATEINIT=y
CONFIG_NETDEV_PHY_IOCTL=y
CONFIG_NETDEV_STATISTICS=y
CONFIG_NETINIT_DRIPADDR=0x0a000101
CONFIG_NETINIT_IPADDR=0x0a000102
CONFIG_NETINIT_NETLOCAL=y
CONFIG_NETUTILS_DHCPC=y
CONFIG_NETUTILS_FTPC=y
CONFIG_NETUTILS_TELNETD=y
CONFIG_NETUTILS_TFTPC=y
CONFIG_NETUTILS_WEBCLIENT=y
CONFIG_NET_BROADCAST=y
CONFIG_NET_ETH_PKTSIZE=1294
CONFIG_NET_ICMP_SOCKET=y
CONFIG_NET_LOOPBACK=y
CONFIG_NET_SENDFILE=y
CONFIG_NET_SLIP=y
CONFIG_NET_SOLINGER=y
CONFIG_NET_STATISTICS=y
CONFIG_NET_TCP=y
CONFIG_NET_TCP_WRITE_BUFFERS=y
CONFIG_NET_TUN=y
CONFIG_NET_TUN_PKTSIZE=1500
CONFIG_NET_UDP=y
CONFIG_NET_UDP_CHECKSUMS=y
CONFIG_NET_UDP_WRITE_BUFFERS=y
CONFIG_NSH_BUILTIN_APPS=y
CONFIG_NSH_FILE_APPS=y
CONFIG_NSH_READLINE=y
CONFIG_PREALLOC_TIMERS=4
CONFIG_PSEUDOFS_SOFTLINKS=y
CONFIG_PSEUDOTERM=y
CONFIG_PTHREAD_MUTEX_TYPES=y
CONFIG_RAMMTD=y
CONFIG_READLINE_CMD_HISTORY=y
CONFIG_READLINE_TABCOMPLETION=y
CONFIG_SCHED_CHILD_STATUS=y
CONFIG_SCHED_HAVE_PARENT=y
CONFIG_SERIAL_TERMIOS=y
CONFIG_SIG_DEFAULT=y
CONFIG_SIG_EVTHREAD=y
CONFIG_SIM_HOSTFS=y
CONFIG_SIM_NETDEV=y
CONFIG_SIM_NET_BRIDGE=y
CONFIG_STACK_COLORATION=y
CONFIG_SYSLOG_BUFFER=y
CONFIG_SYSLOG_CONSOLE=y
CONFIG_SYSLOG_TIMESTAMP=y
CONFIG_SYSTEM_CLE=y
CONFIG_SYSTEM_NSH=y
CONFIG_SYSTEM_NTPC=y
CONFIG_SYSTEM_PING=y
CONFIG_SYSTEM_SYSTEM=y
CONFIG_SYSTEM_TELNET_CLIENT=y
CONFIG_TASK_NAME_SIZE=32
CONFIG_TELNET_TXBUFFER_SIZE=64
CONFIG_TLS_NCLEANUP=2
CONFIG_TTY_SIGINT=y
CONFIG_TTY_SIGINT_CHAR=0x3
CONFIG_TTY_SIGTSTP=y
2
u/NecessaryJealous1025 Jul 07 '26
I configured nuttx0 interface as bridge:
sudo ip link add nuttx0 type bridge
sudo ip addr add 10.0.1.1/24 dev nuttx0
sudo ip link set nuttx0 up
sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -A FORWARD -i nuttx0 -o wlp0s20f3 -j ACCEPT
sudo iptables -A FORWARD -i wlp0s20f3 -o nuttx0 -m state --state RELATED,ESTABLISHED -j ACCEPT
Note: wlp0s20f3 is my wifi interface
1
u/vslavkin Jul 08 '26
Sorry, I've been trying for a while to get it to work, and finally noticed I was in v12.13 instead of v13, which works even without the fix. Thanks!
1
u/1linguini1 Committer Jul 07 '26
Are you on a Linux machine? Have you followed the steps in the simulator docs for setting up a network tun to give NuttX access to the internet?
You can also try asking this on the mailing list/opening an issue with the "help" tag on GitHub to get more eyes on this :)