Can't connect to Starbucks wifi

Solution 1:

Sitting at Starbucks now, it looks like I've found a workaround for this. In my case the error shows the hostname in quotes:

Error resolving “secure.datavalet.io”: Name or service not known

Work Around

  1. In a Terminal, find out the IP address of secure.datavalet.io.

      ip route
    

    (Example output: default via 172.31.98.1)

  2. run sudo nano /etc/hosts to add the IP address and hostname (from error) as a new line in your systems hosts file.

    172.31.98.1 secure.datavalet.io
    
  3. Usually optional, but in some cases where you've previously connected, you may need to also run sudo nano /etc/resolv.conf and insert a line for the first nameserver with the IP address:

    nameserver 172.31.98.1
    
  4. Try to connect to WI-FI again (e.g., through Firefox, which has the functionality of requesting the Network login page).

Explanation

It seems the problem is the hotspot server name (aka WiFi router) cannot be found during normal DNS lookup. This is due to a common out-of-spec router configuration, and the fact systemd operates according to RFC specification.

There is a bug report: 1766969 that seems to identify this problem with WiFi hotspots common to hotel WiFi, coffee shops, and other public WiFi configurations that work on Windows or Apple but not systemd. Hopefully the solution will allow it to fallback to older functionality to fix this common use case. On the bug report at the top, you have the option share that this bug affects you too, and/or be notified when resolved.