Fixes to network Issues with Garuda [Arch in General]

I was troubled with a network issue with the system and I have now found the solution after grinding for a whole day.

Generally, there are problems with the kernel which doesn't let you connect to your ethernet/wifi at all. In that case you should first try the stable older versions like the linux-lts.

There are also problems with sluggish internet post update. You start getting high response time from servers. In this case, try pinging these -

ping 1.1.1.1
ping 8.8.8.8
ping 192.168.1.1 [your router's local IP]
ping www.google.com

You must get a good response time for 1.1.1.1 and your router (192.168.1.1 for me) ,
if you have problems with these two, kindly change you kernel because it is either a problem with the router or the kernel/drivers.
If you don't get a response from www.google.com under a second or even higher, it is clearly a DNS issue.

This was what caused me problems. Everything except FireDragon had 5+ seconds of response time. There is a service called systemd-resolved responsible for DNS resolving.

This service might get disabled with an upgrade of the system.
You can check if it's enabled using -

systemctl status systemd-resolved.service

If it is disabled, proceed with -

sudo micro /etc/NetworkManager/conf.d/no-systemd-resolved.conf

And fill the conf file with -

[main]
systemd-resolved=false

This disconnects the NetworkManager from the service temporarily and allows you to use-

systemctl enable systemd-resolved.service

Voila, you are done. Now restart your computer and enjoy quick response times.

Additionally to speed up, you can disable wifi powersave from the Garuda NetworkAssistant.

1 Like

It is worth noting that the router IP address will vary depending on the ISP (Mine is BT so the default would be 192.168.1.254) but it always starts with "192.168".

Decent guide, I'm using systemd-networkd which naturally uses resolved for it's DNS queries.

I'm not quite sure how these steps together do something useful? Adding systemd-resolved=false then rebooting, yes, that would prevent Network Manager from using systemd-resolved, but it doesn't actually resolve (hah) the issue with DNS resolution, it just uses a different resolver (and why are you enabling systemd-resolved.service if it's running already and also you're not using it?).

It might be better to look in /etc/systemd/resolved.conf and see if there are any tweaks that can be made, e.g. setting DNS resolvers manually rather than relying on those pushed via DHCP (or whatever systemd-resolved decides to use or fall back to).

2 Likes

It allows us to enable the systemd-resolved service which when tried without disabling it, results in some weird error saying failed to allocate service or something.
Here the NetworkManager is linked with the resolver but the resolver is deactivated for some reason resulting in stupid response times.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.