I have experienced simular issues with my Pi3 connecting to nodes, keeping time, updating Echolink online hosts all while using the onboard WiFi. What I found is that the DNS Name service IP was not being correctly applied to /etc/resolv.conf. See if you replicate the issues by following these steps:
Execute: cat /var/run/resolvconf/interfaces/wlan0
Result (yours will be different but should look simular):
domain hsd1.ca.comcast.net.
nameserver 192.168.240.1
Execute: cat /etc/resolv.conf
Result:
# This file is managed by systemd-resolved(8). Do not edit.
#
# Third party programs must not access this file directly, but
# only through the symlink at /etc/resolv.conf. To manage
# resolv.conf(5) in a different way, replace the symlink by a
# static file or a different symlink.
Execute: cat /etc/systemd/resolved.conf
Result:
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# See resolved.conf(5) for details
[Resolve]
#DNS=
Execute: ping www.google.com
Result:
ping: unknown host www.google.com
If the above matches your case, I suggest doing the following:
Execute: resolvconf -u
(No result displayed)
Execute: ping www.google.com
Result:
PING www.google.com (74.125.135.103) 56(84) bytes of data.
64 bytes from pl-in-f103.1e100.net (74.125.135.103): icmp_seq=1 ttl=44 time=42.0 ms
^C
--- www.google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 42.074/42.074/42.074/0.000 ms
Execute: cat /etc/resolv.conf
Result:
# Generated by resolvconf
domain hsd1.ca.comcast.net.
nameserver 192.168.240.1
Now you can see that the nameserver is defined and DNS name resolution functions correctly.
Suggested perminent fix:
Add the following lines to /etc/rc.local just under the existing comments:
# Update DNS Resolution
$(which resolvconf) -u
Execute: shutdown -r now
After the reboot is complete, login and verify DNS resolves. A simple ping is enough to verify.
Please reply if this solves your issue.