Mailing List Archive

Spurious error messages at boot up from the new dhcpcd
Hello, gentoo.

With the new dhcpcd-10.0.2 (previous version being ?9.5.1) I get spurious
error messages on boot up. In particular, I see this:

* Starting DHCP Client Daemon ...
* [ ok ] * Bringing up interface enp38s0
* Caching network module dependencies
* config_enp38s0 not specified; defaulting to DHCP
* dhcp ...
* The dhcpcd version is too old. Please upgrade.
* [ !! ] * ERROR: net.enp38s0 failed to start

.. However, after ~1 hour searching for the problem, I just tried using
enp38s0 to ssh onto my ISP, and it worked. In /var/log/messages, I see
the following:

Aug 22 09:24:20 ACM dhcpcd[2435]: dhcpcd-10.0.2 starting
Aug 22 09:24:20 ACM dhcpcd[2437]: dev: loaded udev
Aug 22 09:24:20 ACM dhcpcd[2437]: DUID 00:01:00:01:20:97:45:37:60:45:cb:9c:5b:d6
Aug 22 09:24:20 ACM dhcpcd[2437]: enp38s0: waiting for carrier
Aug 22 09:24:22 ACM kernel: igb 0000:26:00.0 enp38s0: igb: enp38s0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
Aug 22 09:24:23 ACM dhcpcd[2437]: enp38s0: carrier acquired
Aug 22 09:24:23 ACM kernel: IPv6: ADDRCONF(NETDEV_CHANGE): enp38s0: link becomes ready
Aug 22 09:24:23 ACM dhcpcd[2437]: enp38s0: IAID cb:9c:5b:d6
Aug 22 09:24:24 ACM dhcpcd[2437]: enp38s0: rebinding lease of 192.168.178.86
Aug 22 09:24:24 ACM dhcpcd[2437]: enp38s0: probing address 192.168.178.86/24
Aug 22 09:24:28 ACM dhcpcd[2437]: enp38s0: leased 192.168.178.86 for 864000 seconds
Aug 22 09:24:28 ACM dhcpcd[2437]: enp38s0: adding route to 192.168.178.0/24
Aug 22 09:24:28 ACM dhcpcd[2437]: enp38s0: adding default route via 192.168.178.1
Aug 22 09:24:29 ACM /etc/init.d/net.enp38s0[2686]: config_enp38s0 not specified; defaulting to DHCP
Aug 22 09:24:29 ACM /etc/init.d/net.enp38s0[2695]: The dhcpcd version is too old. Please upgrade.
Aug 22 09:24:29 ACM /etc/init.d/net.enp38s0[2527]: ERROR: net.enp38s0 failed to start

..

So it would appear that everything is working, but I still get error
messages. The "dhcpcd version is too old" is particularly galling, given
that dhcpcd was updated yesterday.

Could anybody suggest how I might get further with this problem? Thanks!

--
Alan Mackenzie (Nuremberg, Germany).
Re: Spurious error messages at boot up from the new dhcpcd [ In reply to ]
On Tuesday, 22 August 2023 10:56:52 BST Alan Mackenzie wrote:
> Hello, gentoo.
>
> With the new dhcpcd-10.0.2 (previous version being ?9.5.1) I get spurious
> error messages on boot up. In particular, I see this:
>
> * Starting DHCP Client Daemon ...
> * [ ok ] * Bringing up interface enp38s0
> * Caching network module dependencies
> * config_enp38s0 not specified; defaulting to DHCP
> * dhcp ...
> * The dhcpcd version is too old. Please upgrade.
> * [ !! ] * ERROR: net.enp38s0 failed to start
>
> .. However, after ~1 hour searching for the problem, I just tried using
> enp38s0 to ssh onto my ISP, and it worked. In /var/log/messages, I see
> the following:
>
> Aug 22 09:24:20 ACM dhcpcd[2435]: dhcpcd-10.0.2 starting
> Aug 22 09:24:20 ACM dhcpcd[2437]: dev: loaded udev
> Aug 22 09:24:20 ACM dhcpcd[2437]: DUID
> 00:01:00:01:20:97:45:37:60:45:cb:9c:5b:d6 Aug 22 09:24:20 ACM dhcpcd[2437]:
> enp38s0: waiting for carrier
> Aug 22 09:24:22 ACM kernel: igb 0000:26:00.0 enp38s0: igb: enp38s0 NIC Link
> is Up 1000 Mbps Full Duplex, Flow Control: RX/TX Aug 22 09:24:23 ACM
> dhcpcd[2437]: enp38s0: carrier acquired
> Aug 22 09:24:23 ACM kernel: IPv6: ADDRCONF(NETDEV_CHANGE): enp38s0: link
> becomes ready Aug 22 09:24:23 ACM dhcpcd[2437]: enp38s0: IAID cb:9c:5b:d6
> Aug 22 09:24:24 ACM dhcpcd[2437]: enp38s0: rebinding lease of 192.168.178.86
> Aug 22 09:24:24 ACM dhcpcd[2437]: enp38s0: probing address
> 192.168.178.86/24 Aug 22 09:24:28 ACM dhcpcd[2437]: enp38s0: leased
> 192.168.178.86 for 864000 seconds Aug 22 09:24:28 ACM dhcpcd[2437]:
> enp38s0: adding route to 192.168.178.0/24 Aug 22 09:24:28 ACM dhcpcd[2437]:
> enp38s0: adding default route via 192.168.178.1 Aug 22 09:24:29 ACM
> /etc/init.d/net.enp38s0[2686]: config_enp38s0 not specified; defaulting to
> DHCP

I don't know what your network configuration requirements may be, but if you
have not specified a manual configuration for your enp38s0 interface, then you
probably do not need the netifrc service enabled. You can remove net.enp38s0
service from the default runlevel and reboot, with an eye on the log messages.


> Aug 22 09:24:29 ACM /etc/init.d/net.enp38s0[2695]: The dhcpcd version
> is too old. Please upgrade.

I'm running the same version like you and do not see this message, but this
does not explain why you get this printed out.

I expect you have the dhcpcd service enabled. Does your NIC come up and
obtain an IP address via dhcpcd, if you remove dhcpcd from the default
runlevel? Careful you do not lock yourself out, if this is a remote system
and no network comes up when you reboot.


> Aug 22 09:24:29 ACM
> /etc/init.d/net.enp38s0[2527]: ERROR: net.enp38s0 failed to start
>
> ..
>
> So it would appear that everything is working, but I still get error
> messages. The "dhcpcd version is too old" is particularly galling, given
> that dhcpcd was updated yesterday.

Unless you emerge the latest from trunk, 10.0.2 is shown as the latest stable
dhcpcd version:

[I] net-misc/dhcpcd
Available versions:
9.4.1 [debug +embedded ipv6 privsep +udev]
9.5.1 [debug +embedded ipv6 privsep +udev]
~ 10.0.1 [debug +embedded ipv6 privsep +udev]
10.0.2 [debug +embedded ipv6 privsep +udev]
** 9999 *l [debug +embedded ipv6 privsep +udev]
Installed versions: 10.0.2(09:27:21 08/21/23)(embedded ipv6 udev -debug
-privsep)
Re: Spurious error messages at boot up from the new dhcpcd [ In reply to ]
Hello, Michael.

On Tue, Aug 22, 2023 at 12:29:38 +0100, Michael wrote:
> On Tuesday, 22 August 2023 10:56:52 BST Alan Mackenzie wrote:
> > Hello, gentoo.

> > With the new dhcpcd-10.0.2 (previous version being ?9.5.1) I get spurious
> > error messages on boot up. In particular, I see this:

> > * Starting DHCP Client Daemon ...
> > * [ ok ] * Bringing up interface enp38s0
> > * Caching network module dependencies
> > * config_enp38s0 not specified; defaulting to DHCP
> > * dhcp ...
> > * The dhcpcd version is too old. Please upgrade.
> > * [ !! ] * ERROR: net.enp38s0 failed to start

> > .. However, after ~1 hour searching for the problem, I just tried using
> > enp38s0 to ssh onto my ISP, and it worked. In /var/log/messages, I see
> > the following:

> > Aug 22 09:24:20 ACM dhcpcd[2435]: dhcpcd-10.0.2 starting
> > Aug 22 09:24:20 ACM dhcpcd[2437]: dev: loaded udev
> > Aug 22 09:24:20 ACM dhcpcd[2437]: DUID
> > 00:01:00:01:20:97:45:37:60:45:cb:9c:5b:d6 Aug 22 09:24:20 ACM dhcpcd[2437]:
> > enp38s0: waiting for carrier
> > Aug 22 09:24:22 ACM kernel: igb 0000:26:00.0 enp38s0: igb: enp38s0 NIC Link
> > is Up 1000 Mbps Full Duplex, Flow Control: RX/TX Aug 22 09:24:23 ACM
> > dhcpcd[2437]: enp38s0: carrier acquired
> > Aug 22 09:24:23 ACM kernel: IPv6: ADDRCONF(NETDEV_CHANGE): enp38s0: link
> > becomes ready Aug 22 09:24:23 ACM dhcpcd[2437]: enp38s0: IAID cb:9c:5b:d6
> > Aug 22 09:24:24 ACM dhcpcd[2437]: enp38s0: rebinding lease of 192.168.178.86
> > Aug 22 09:24:24 ACM dhcpcd[2437]: enp38s0: probing address
> > 192.168.178.86/24 Aug 22 09:24:28 ACM dhcpcd[2437]: enp38s0: leased
> > 192.168.178.86 for 864000 seconds Aug 22 09:24:28 ACM dhcpcd[2437]:
> > enp38s0: adding route to 192.168.178.0/24 Aug 22 09:24:28 ACM dhcpcd[2437]:
> > enp38s0: adding default route via 192.168.178.1 Aug 22 09:24:29 ACM
> > /etc/init.d/net.enp38s0[2686]: config_enp38s0 not specified; defaulting to
> > DHCP

> I don't know what your network configuration requirements may be, but if you
> have not specified a manual configuration for your enp38s0 interface, then you
> probably do not need the netifrc service enabled. You can remove net.enp38s0
> service from the default runlevel and reboot, with an eye on the log messages.

I am running a simple workstation, connected to a consumer-grade router
by an ethernet cable. I didn't (and don't) have a specific configuration
for enp38s0. I did

$ rc-update del net.enp38s0 default

and rebooted. The machine came up without error messages, indeed with
fewer messages than it used to. On tty1, I now see just:

INIT: Entering runlevel: 3
* Checking your configfile (/etc/syslog-ng/syslog-ng.conf) ...
* [ ok ] * Starting syslog-ng ...
* [ ok ] * Starting DHCP Client Daemon ...
* [ ok ] * Setting clock via the NTP client 'ntpdate' ...
* [ ok ] * Starting cronie ...
* [ ok ] * Starting dbus ...
* [ ok ] * Starting cupsd ...
* [ ok ] * Starting gpm ...
* [ ok ] * Mounting network filesystems ...
* [ ok ] * Starting local ...

, and in /var/log/message I see:

Aug 22 12:36:56 ACM dhcpcd[2435]: dhcpcd-10.0.2 starting
Aug 22 12:36:56 ACM dhcpcd[2437]: dev: loaded udev
Aug 22 12:36:56 ACM dhcpcd[2437]: DUID 00:01:00:01:20:97:45:37:60:45:cb:9c:5b:d6
Aug 22 12:36:56 ACM dhcpcd[2437]: enp38s0: waiting for carrier
Aug 22 12:36:58 ACM kernel: igb 0000:26:00.0 enp38s0: igb: enp38s0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
Aug 22 12:36:59 ACM dhcpcd[2437]: enp38s0: carrier acquired
Aug 22 12:36:59 ACM kernel: IPv6: ADDRCONF(NETDEV_CHANGE): enp38s0: link becomes ready
Aug 22 12:36:59 ACM dhcpcd[2437]: enp38s0: IAID cb:9c:5b:d6
Aug 22 12:37:00 ACM dhcpcd[2437]: enp38s0: rebinding lease of 192.168.178.86
Aug 22 12:37:00 ACM dhcpcd[2437]: enp38s0: probing address 192.168.178.86/24
Aug 22 12:37:05 ACM dhcpcd[2437]: enp38s0: leased 192.168.178.86 for 864000 seconds
Aug 22 12:37:05 ACM dhcpcd[2437]: enp38s0: adding route to 192.168.178.0/24
Aug 22 12:37:05 ACM dhcpcd[2437]: enp38s0: adding default route via 192.168.178.1

..

> > Aug 22 09:24:29 ACM /etc/init.d/net.enp38s0[2695]: The dhcpcd version
> > is too old. Please upgrade.

> I'm running the same version like you and do not see this message, but this
> does not explain why you get this printed out.

I don't understand what I just did, by deleting net.enp38s0, though it
appeared to have fixed the problem. That worries me. Could you possibly
explain to me a bit more what that removal did? Thanks!

> I expect you have the dhcpcd service enabled. Does your NIC come up and
> obtain an IP address via dhcpcd, if you remove dhcpcd from the default
> runlevel? Careful you do not lock yourself out, if this is a remote system
> and no network comes up when you reboot.

On removing dhcpcd from default, the maching just has no network
connection on booting up.

> > Aug 22 09:24:29 ACM
> > /etc/init.d/net.enp38s0[2527]: ERROR: net.enp38s0 failed to start

> > ..

> > So it would appear that everything is working, but I still get error
> > messages. The "dhcpcd version is too old" is particularly galling, given
> > that dhcpcd was updated yesterday.

> Unless you emerge the latest from trunk, 10.0.2 is shown as the latest stable
> dhcpcd version:

> [I] net-misc/dhcpcd
> Available versions:
> 9.4.1 [debug +embedded ipv6 privsep +udev]
> 9.5.1 [debug +embedded ipv6 privsep +udev]
> ~ 10.0.1 [debug +embedded ipv6 privsep +udev]
> 10.0.2 [debug +embedded ipv6 privsep +udev]
> ** 9999 *l [debug +embedded ipv6 privsep +udev]
> Installed versions: 10.0.2(09:27:21 08/21/23)(embedded ipv6 udev -debug
> -privsep)

Yes, I just emerged it yesterday.

So, the current state is my machine appears to be working, without error
messages on boot-up, but I don't understand why.

--
Alan Mackenzie (Nuremberg, Germany).
Re: Spurious error messages at boot up from the new dhcpcd [ In reply to ]
Hello Alan,

On Tuesday, 22 August 2023 14:00:26 BST Alan Mackenzie wrote:

> I don't understand what I just did, by deleting net.enp38s0, though it
> appeared to have fixed the problem. That worries me. Could you possibly
> explain to me a bit more what that removal did? Thanks!

There are different ways to configure and bring up your network interface.

If you have a complicated network configuration, with static address(es),
bridges, multihoming, etc. then using netifrc scripts is a convenient method
to automate default runlevel service(s) to manage your setup.

For simpler network requirements a dhcp client, like dhcpcd, is adequate for
bringing up and configuring your network interface.

In absence of any manual settings netifrc will also bring up dhcpcd to try to
obtain an IP address from the router.

You had both a netifrc service and a dhcpcd service starting up, each trying
to negotiate an IP address from your router and tripping over themselves.


> On removing dhcpcd from default, the maching just has no network
> connection on booting up.

OK, sometimes a service which requires a network connection can bring in
dhcpcd - I have neither netifrc nor dhcpcd services starting here on their
own:

$ rc-update -s -v | grep 'dhcpcd|net'
dhcpcd |
local | default nonetwork
net-online |
net.lo |
netmount | default

but in my case I think chronyd starts dhcpcd to connect to the network.

In your case, dhcpcd launched as a default service is needed to set up your
connection.
Re: Spurious error messages at boot up from the new dhcpcd [ In reply to ]
On 2023-08-22, Alan Mackenzie wrote:

> Hello, gentoo.
>
> With the new dhcpcd-10.0.2 (previous version being ?9.5.1) I get spurious
> error messages on boot up. In particular, I see this:
>
> * Starting DHCP Client Daemon ...
> * [ ok ] * Bringing up interface enp38s0
> * Caching network module dependencies
> * config_enp38s0 not specified; defaulting to DHCP
> * dhcp ...
> * The dhcpcd version is too old. Please upgrade.
> * [ !! ] * ERROR: net.enp38s0 failed to start
[...]
>
> So it would appear that everything is working, but I still get error
> messages. The "dhcpcd version is too old" is particularly galling, given
> that dhcpcd was updated yesterday.

A check (in netifrc) didn't account for two-digit major version numbers
when checking the dhcpcd version.

https://bugs.gentoo.org/show_bug.cgi?id=904422

So check if there's a newer version of net-misc/netifrc available.

--
Nuno Silva
Re: Re: Spurious error messages at boot up from the new dhcpcd [ In reply to ]
Hello, Nuno.

On Tue, Aug 22, 2023 at 22:41:11 +0100, Nuno Silva wrote:
> On 2023-08-22, Alan Mackenzie wrote:

> > With the new dhcpcd-10.0.2 (previous version being ?9.5.1) I get spurious
> > error messages on boot up. In particular, I see this:

> > * Starting DHCP Client Daemon ...
> > * [ ok ] * Bringing up interface enp38s0
> > * Caching network module dependencies
> > * config_enp38s0 not specified; defaulting to DHCP
> > * dhcp ...
> > * The dhcpcd version is too old. Please upgrade.
> > * [ !! ] * ERROR: net.enp38s0 failed to start
> [...]

> > So it would appear that everything is working, but I still get error
> > messages. The "dhcpcd version is too old" is particularly galling, given
> > that dhcpcd was updated yesterday.

> A check (in netifrc) didn't account for two-digit major version numbers
> when checking the dhcpcd version.

> https://bugs.gentoo.org/show_bug.cgi?id=904422

Thanks, I've had a look at that bug. It was a simple coding error.

> So check if there's a newer version of net-misc/netifrc available.

I've currently got netifrc-0.7.3 installed. There are 0.7.4 and 0.7.5
available (according to eshowkw). But, for some reason, portage hasn't
upgraded my system (an amd64) to 0.7.5. It looks as though I should do
this by hand.

> --
> Nuno Silva

--
Alan Mackenzie (Nuremberg, Germany).
Re: Spurious error messages at boot up from the new dhcpcd [ In reply to ]
Hello, Michael.

On Tue, Aug 22, 2023 at 16:03:16 +0100, Michael wrote:
> Hello Alan,

> On Tuesday, 22 August 2023 14:00:26 BST Alan Mackenzie wrote:

> > I don't understand what I just did, by deleting net.enp38s0, though it
> > appeared to have fixed the problem. That worries me. Could you possibly
> > explain to me a bit more what that removal did? Thanks!

> There are different ways to configure and bring up your network interface.

> If you have a complicated network configuration, with static address(es),
> bridges, multihoming, etc. then using netifrc scripts is a convenient method
> to automate default runlevel service(s) to manage your setup.

OK.

> For simpler network requirements a dhcp client, like dhcpcd, is adequate for
> bringing up and configuring your network interface.

Which is appropriate for my setup.

> In absence of any manual settings netifrc will also bring up dhcpcd to try to
> obtain an IP address from the router.

> You had both a netifrc service and a dhcpcd service starting up, each trying
> to negotiate an IP address from your router and tripping over themselves.

Ah, so that was it! Thanks!

> > On removing dhcpcd from default, the maching just has no network
> > connection on booting up.

> OK, sometimes a service which requires a network connection can bring in
> dhcpcd - I have neither netifrc nor dhcpcd services starting here on their
> own:

> $ rc-update -s -v | grep 'dhcpcd|net'
> dhcpcd |
> local | default nonetwork
> net-online |
> net.lo |
> netmount | default

> but in my case I think chronyd starts dhcpcd to connect to the network.

OK.

> In your case, dhcpcd launched as a default service is needed to set up your
> connection.

Yes. Thanks again for the explanation.

--
Alan Mackenzie (Nuremberg, Germany).