I'm using only eth0 (well, and lo, of course), not wlan.
For essentially all practical purposes, I always have the network cable plugged in when I boot the Raspberry Pi.
I do not have Network Manager installed.
I boot to text console, not graphical login manager.
My directory /etc/network/interfaces.d is empty, and I have these four non-comment, non-empty lines in /etc/network/interfaces:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
Those four lines are identical to the corresponding lines in a 64-bit X86 machine that also runs Devuan Ascii. The X86 machine does not have any delays.
Those four lines are also exactly how the datacenter network gurus where I work have always configured Debian-based systems for dynamic IP address on eth0. Following the examples of said gurus, that's the way I have configured Debian-based systems I have worked with. Except for cases whether the DHCP server (run by corporate IT) is slower than slow, I have not seen similar delays on those machines--only on the Raspberry Pi.
The X86 machine I mentioned and Raspberry Pi were tested with the same network cable, same port on the switch and router, etc.
When I boot the Raspberry Pi, the LEDs on the RJ45 jack behave curiously. Initially, both are off. Then, the yellow/amber LED on the right blinks on a couple of times and then goes back off--doing this once shortly before the DHCPDISCOVER line appears on the console and then again shortly after that line appears. After the DHCPDISCOVER line appears on the console, and I think after the second round of yellow/amber blinks, the tree LED on the left comes on and stays on.
My hunch is there is something different about how the Raspberry Pi's NIC hardware, firmware, and/or drivers are initialized (relative to most X86 desktops and servers) that causes the initial dhclient process invoked by /etc/init.d/networking invoking "ifup -a" to fail/hang.
Is anyone acquainted well enough with the Raspberry Pi 3B+ NIC hardware/firmware/drivers to shed more light on why the Raspberry Pi shows the hang while the X86 machine does not?
I have a hypothesis that one possible workaround would be to remove the 'auto eth0' line from /etc/network/interfaces and add an "ifup eth0" or perhaps "ifup -a" command to /etc/rd.local. Any second opinions on whether this would likely be reliable?
]]>Here are some threads that could help:
https://dev1galaxy.org/viewtopic.php?id=2660
" The install may have also setup networking to default to ethernet, this happened to me. This may be whats causing the boot delay on DHCP, as well as the wlan0 problems.
Check /etc/network/interfaces and remove/comment out these lines or similar if they exist:
# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp
The only interface that should be configured in this file is lo.
Also make sure interfaces.d is empty.
]]>Is this a known issue with DHCP and/or the Ethernet adapter driver? Is there a known solution or workaround? Is there a kernel module that should be listed to be loaded earlier in the boot process?
Thanks.
]]>