dhcpcd icon indicating copy to clipboard operation
dhcpcd copied to clipboard

Ethernet only works after reboot

Open DasLixou opened this issue 2 years ago • 1 comments

so me having this problem that when i boot into linux my ethernet doesnt work, but when i sudo restart, then ethernet connects.

when i start it the first time and get the status from dhcpcd via systemctl it says 2 times "no valid interfaces found", then "carrier aquired" then some logs about an ipv6 iguess and then it says "carrier lost". after the reboot when i printed the status and it directly says "carrier aquired" and worked. 2D6D86EF-0307-44F0-9636-43DEBF653B0E A6D1585F-81D4-4F00-B54C-4CB974F48EA0

DasLixou avatar Aug 02 '22 18:08 DasLixou

I'm not entirely clear what the issuse is here. Are you saying that booting the computer from a cold start causes dhcpcd not to find the interface but rebooting the computer then allows it to work?

rsmarples avatar Aug 10 '22 16:08 rsmarples

I'm not entirely clear what the issuse is here. Are you saying that booting the computer from a cold start causes dhcpcd not to find the interface but rebooting the computer then allows it to work?

.. yes 🤣. I ask in a discord from a YouTuber which I followed a windows Dual boot install and the vid creator has the same problem. Seems like it is smth with dual booting with windows. But I don’t know why dhcpcd doesn’t find the interface then

DasLixou avatar Aug 12 '22 19:08 DasLixou

Weird. I'm going on holiday for a few weeks so can't help more until I get back, but this smells like a udev issue.

On systems without udev, dhcpcd listens to kernel data to say "here is an interface and this is it's state." On systems with udev, dhcpcd needs to listen to kernel data to find the interface and state, but needs to wait until udev announces that the interface is ready.

If I'm right, you can probably fix this by disabling interface renaming in udev and adding the nodev directive at the top of dhcpcd.conf.

rsmarples avatar Aug 13 '22 00:08 rsmarples

Worked! had to set net.ifnames=0 as a kernel variable.

DasLixou avatar Aug 22 '22 13:08 DasLixou