Connected to wifi, but no internet [16.04]

Just because you've joined the Wi-Fi access point doesn't mean you're really connected to the overall network. It's basically just the wireless equivalent of "plugging in."

The IP router info and DNS settings is what "connecting to the Internet" requires. And your Ubuntu 16.04 computer doesn't seem to be getting it.

127.0.1.1, for example, is a loopback to your own computer, not a real DNS server.

Normally on Wi-Fi, once you join the SSID, there is a DHCP server that is reachable on the broadcast domain. So DHCP clients will broadly ask on that local part of the network (which is all it can reach at that point, since it doesn't know how to get out), "Are you a DHCP server? Can you give me an IP?" The DHCP server replies to the query with an address that your laptop can use to join the wider IP network, and usually also provides router/gateway, DNS server IP, and sometimes more if there's DHCP options.

Since your other laptop can connect to the network, we know the DHCP server exists exists. And since your Ubuntu 16.04 laptop can use DHCP on other networks (assuming you haven't changed the interface configuration), we know your laptop's DHCP client can theoretically work. It's unlikely to be a software bug. So the question is why that specific DHCP server does not want to talk to your laptop's DHCP client, or why your DHCP client isn't talking to the network.

Could it be that you're actually using a manual IP, and it's the wrong one for this network, but your settings work on others?

Manual IP, gateway, and DNS assignment is not the answer. In fact, if you do that with an IP the network admin didn't give you, it can create an IP conflict on the network, and neither you nor the other guy will be able to connect.

Pinging the gateway won't get you name servers, either. All it does is add the gateway to the ARP cache.

Get the output to:

sudo cat /etc/network/interfaces

It's possible to accidentally combine DHCP (to retrieve the DNS/gateway settings) with manually assigned IP addresses, since it's a valid use although most people don't do it, and it can cause problems like this. Let's see if your DHCP config is truly all DHCP, and valid for this network. What I'm expecting to see for a working config is simple:

auto wlp3s0
iface wlp3s0 inet dhcp

Note: No "address 10.12.152.1", no netmask, no gateway, no "dns-search uoguelph.ca". That needs to be empty, or your computer won't grab it from the DHCP server.

  • Network configuration https://help.ubuntu.com/lts/serverguide/network-configuration.html
  • Automatic IP Address Assignment: How DHCP Works https://www.youtube.com/watch?v=RUZohsAxPxQ