The default connectivity check URL gives a 404 error, causing NetworkManager to claim limited connectivity

As the title says, the NetworkManager connectivity check URL now gives a 404 error, so the network icon in the panel shows a question mark and claims there is limited connectivity, even though the connection actually works. Please replace the file check_network_status.txt on the server, or change the URL to one that works.

1 Like

The website shows the same for me, but my network manager in the panel doesn’t show anything suspicious. I don’t think it’s related directly

image

image

Hi,
I wonder whether you can read this post, in order to solve the problem.
‘WiFi Working But Saying Limited Connection - #4 by Mirdarthos’

Regards,

I’m getting “Secure Connection Failed”, which suggests an issue with the site certificate (it doesn’t actually say so, however).

The question mark is gone from my network icon in the panel, but I still get a 404 error when navigating to http://ping.manjaro.org/check_network_status.txt in firefox.

anecdotal:
Today I have updated all my VM’s (Cinnamon, Plasma, Xfce4, Gnome).
And I have just booted up each one in turn.
Never once did I see the issue (the limited connectivity warning).
I basically get the very same result as what @Pille said.

1 Like

I have had the limited connectivity notification on one of the WiFi networks I use on several occasions; probably still the case as I didn’t bother to check the past few times.

It doesn’t seem to affect this or other sites I use; the only thing which doesn’t is speedtest either from script or the installed version, which I presume is down to the way that network is configured. :man_shrugging:

I am getting the same message.

Could it be that this site is for background health checks of the Network Manager and not browsable manually at all?

If all other sites are working i wouldn’t be too concerned.
I still do not see it directly related with the limited connection message.

If you access the URL only (without the additional request of the txt file, it comes to the Manjaro Slimbook Hero pages:

https://ping.manjaro.org/

the 404 is a response

The 404 Not Found status code means that the server either did not find a current representation for the requested resource or is trying to hide its existence from an unauthorized client.

and that is what is needed - a response
not:
no response

… the network is alive and working - is all that is needed
that is how I interpret that

I never had the icon warning about limited connectivity.

I have disabled the check in my main OS
(Mint - they probe a different address for the same purpose) -
Manjaro is running as VM inside of it only.

1 Like

@ben75

Presuming you’re using Cloudflare (or similar) I wonder if any apparent loss of connectivity might be attributable to configuration, or legitimate dropouts.

This morning there was a question mark and the warning that I had limited connectivity, even though my Internet worked fine otherwise. I tried to manually retrieve the connectivity check URL and got 404 Not Found. Later this afternoon, the question mark and limited connectivity warning were gone. I still get the 404 error though. Now I don’t think the question mark and limited connectivity warning are related to the 404 error.

2 Likes

Pretty sure 404 with a browser is by design. It is not supposed to be html. But the server answers and that is what matters. Dns/isp problem seems more probable.

3 Likes

As @Nachlese said.

Even a error 404 is a valid response. The webserver itself is reachable, but there is nothing configured on the given URL.

If you have limited connectivity, the message would be a different one. An error is not related to your question mark.

See this, it explains why 404 is given as response. It is not an error regarding network connectivity, but due to a not properly configured site.

An error 404 is configurable by the owner of the website and can show also something different. What you see on the URL you posted is the default page, nothing else.
You will see the error also if you try to reach any website on a server which doesn’t exist.

The most important message is the second sentence of the article
" is a hypertext transfer protocol (HTTP) standard response code, to indicate that the browser was able to communicate with a given server, but the server could not find what was requested."

Your browser is able to communicate, but there is nothing configured on the URL. Which means in fact, that your network is not limited.

If it would be a DNS or ISP problem, the message would be a different one. Error 404 comes from the web server, not the browser. 404 is HTML, but in most cases a generic one created by the web server.
Look at these examples of 404 web sites:

2 Likes

I have been discussing this with @codesardine (internally on the team) many times, he refused to change it - but alas - the man has (internally) told us he would leave Manjaro.

response
If set, controls what body content NetworkManager checks for when requesting the URI for connectivity checking. Note that this only compares that the HTTP response starts with the specified text, it does not compare the exact string. This behavior might change in the future, so avoid relying on it. If missing, the response defaults to “NetworkManager is online”. If set to empty, the HTTP server is expected to answer with status code 204 or send no data.
– NetworkManager.conf(5) — Arch manual pages

I ended up with creating my ping endpoint - on host ping.nix.dk with ping.nix.dk/nm-check.txt.

I used the configuration found on archlinux gitlab instance and the documentation for connectivity

nginx configuration
server {
    # We don't redirect to HTTPS because a redirect is considered a captive portal.
    listen       80;
    listen       443 ssl;
    server_name  ping.nix.dk;
    http2 on;

    default_type text/plain;

    location = / {
        return 200 'This domain is used for connectivity checking (captive portal detection).\n';
    }

    # https://man.archlinux.org/man/NetworkManager.conf.5#CONNECTIVITY_SECTION
    location = /nm-check.txt {
        access_log off;
        add_header Cache-Control "max-age=0, must-revalidate";
        return 200 'NetworkManager is online\n';
    }

    location = /check_network_status.txt {
        access_log off;
        add_header Cache-Control "max-age=0, must-revalidate";
        return 200 'NetworkManager is online\n';    
    }

    location / {
        access_log off;
        return 404;
    }

    ssl_certificate /etc/letsencrypt/live/ping.nix.dk/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/ping.nix.dk/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}

I think you’ll find it was suggested the initial problem was likely a DNS issue. The mention of 404 was a separate issue. It seems like you confused the response from @Teo . :slight_smile:

I initially thought the 404 error had caused the limited connectivity warning. That was proven wrong. The 404 error is a non-issue, as long as NetworkManager still knows that I have Internet access.

Whatever caused the limited connectivity warning resolved itself a few hours after I made this post.

I was referring to the initial post where these two issues were related by @ben75:

Yes, but you quoted @Teo;
what follows is usually a response to the quoted text.

Nonetheless, I think we’re all in agreement that the 404 was unrelated to the initial issue. :smile_cat:

2 Likes