This is an Acer Aspire one laptop, with a 32 bit CPU and Debian 12.7. Whenever I install Linux on it, the Internet works for about one day. And when I boot it up the next day, it just stops working. This is the case for WiFi, Ethernet and USB tethering via Android.

After running networkctl it gave me this:

I can ping 8.8.8.8 in this state, but not gnu.org. I can’t open websites in Firefox either.

Then I ran “sudo systemctl start systemd-networkd”. The networkctl output changed but everything worked exactly as the above two images. Couldn’t open websites still.

Yesterday everything was working perfectly

Edit: Thanks to @nanook@friendica.eskimo.com and @MyNameIsRichard@lemmy.ml I finally have internet access on my 12-year old e-waste!

  • nanook@friendica.eskimo.com
    link
    fedilink
    arrow-up
    3
    ·
    19 days ago

    If worse comes to worse, you can always just remove the symlink of /etc/resolv.conf which presently will point to something in /run/systemd, and replace it with a static file with known good name servers in it. You’ll lose having a DNS cache but at least your machine will function.

      • MyNameIsRichard@lemmy.ml
        link
        fedilink
        arrow-up
        10
        ·
        edit-2
        19 days ago

        Update /etc/systemd/resolved.conf and add some DNS servers (in this example, 1.1.1.1 is CloudFlare, and 8.8.8.8 and 8.8.4.4 are Google but you can use your preferred DNS servers.)

        [Resolve]
        DNS=1.1.1.1 8.8.8.8
        FallbackDNS=8.8.4.4
        

        Restart system resolved:

        service systemd-resolved restart

        Run resolvectl status (or systemd-resolve --status in older versions of systemd) to see if the settings took.

        If they don’t take after a reboot, there’s something else going on.

  • hackerwacker@lemmy.ml
    link
    fedilink
    arrow-up
    1
    arrow-down
    3
    ·
    edit-2
    19 days ago

    Why are you using networkd instead of networkmanager on a desktop? The two don’t work together.

    Anyway, it looks like a DNS problem. You can manually specify DNS servers (like 8.8.8.8, 8.8.4.4) in whatever network management you’re using.

    Alternatively you can edit /etc/hosts (I meant /etc/resolv.conf obviously) and then make it immutable (chattr +i /etc/hosts) to prevent changes.

    • ugo@feddit.it
      link
      fedilink
      arrow-up
      9
      arrow-down
      1
      ·
      edit-2
      19 days ago

      Why are you using networkd instead of networkmanager on a desktop?

      What a weird question. Networkd works anywhere systemd works, why whould desktops be any different.

      It’s the same as asking someone “why are you using systemd-boot instead of grub?” Because I like systemd boot better and it’s easier to configure. Same with networkd, configuration is stupid simple, I have installed it on my work machine even.

      As for op: since you can manually ping ip addresses and the issue seems to be time-based, could it be that your machine is somehow not renegotiating a dhcp lease?

      • maliciousonion@lemmy.mlOP
        link
        fedilink
        English
        arrow-up
        2
        ·
        19 days ago

        Well the machine’s time is off by a few hours after I power it off for a night. So the time is incorrect right now. This might explain why it suddenly stops when I wake up and reopen it a day after installation. Should I manually set the correct time to fix it?

        • ugo@feddit.it
          link
          fedilink
          arrow-up
          3
          ·
          19 days ago

          If the time is off by that much after being powered off, this tells me two things:

          1. Your RTC battery is very likely dead. Should be simple to replace, it would be on the motherboard but then again accessing it might be a little tricky on a laptop
          2. NTP is probably not set up, or set up incorrectly. It should automatically sync the time on boot

          An incorrect clock can absolutely cause network issues, so I would bet that’s what is causing you trouble