The officially official Devuan Forum!

You are not logged in.

#1 2019-02-14 04:19:19

rmrichesjr
Member
Registered: 2018-12-18
Posts: 31  

Raspberry Pi 3B+ network not working at boot with Ascii

When booting a Raspberry Pi 3B+ running Devuan Ascii from image devuan_ascii_2.0.0_arm64_raspi3.img.xz plus package upgrades plus installing a bunch of non-default packages, the system tries to get an IP address from DHCP, but DHCP does not usually succeed.  About 3/4 of the time, the boot process pauses after printing one DHCPDISCOVER line, then a few/several dozen seconds later several more DHCPDISCOVER lines plus one "No DHCPOFFERS received" line print, and the boot process goes on without eth0 being up.  Later, after everything else has booted, a simple (as root) ifdown eth0 followed by ifup eth0 works within a second or two.  About 1/4 of all boots, DHCP gets an IP address in a few/several seconds, and the system boots with eth0 having a functional IP address.

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.

Offline

#2 2019-02-14 12:32:43

freenet_bro
Member
Registered: 2018-12-23
Posts: 16  

Re: Raspberry Pi 3B+ network not working at boot with Ascii

Fix your /etc/network/interfaces file and it should work.

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.

https://dev1galaxy.org/viewtopic.php?id=1688 "

Last edited by freenet_bro (2019-02-14 12:34:10)

Offline

#3 2019-02-16 22:20:15

rmrichesjr
Member
Registered: 2018-12-18
Posts: 31  

Re: Raspberry Pi 3B+ network not working at boot with Ascii

Thanks for the reply.  I read through both of those threads and the Debian bug report referenced in the latter thread.  Here's a little more detail on my situation:

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?

Offline

#4 2019-02-16 22:24:29

golinux
Administrator
Registered: 2016-11-25
Posts: 3,137  

Re: Raspberry Pi 3B+ network not working at boot with Ascii

Have you seen this thread?  There is a solution. Can't remember whether it's in that thread or elsewhere on this forum.  Sorry . . . not willing to go treasure hunting atm.  wink

Offline

#5 2019-02-16 22:50:32

rmrichesjr
Member
Registered: 2018-12-18
Posts: 31  

Re: Raspberry Pi 3B+ network not working at boot with Ascii

Thanks for that pointer.  The case described there is for when "... eth0 is not connected to a network,"  In my case, my eth0 _is_ connected to a network, the same cable, switch/router port, and such where the X86 machine running Devuan Ascii boots with_out_ any DCPDISCOVER delay.  The only relevant hits found by a couple of searches were the 2660 and 1688 threads already discussed.  The 2660 thread has one solution of removing all mention of eth0 from /etc/network/interfaces, which would leave that NIC entirely unconfigured.  That thread also points to the 1668 thread.  In the 1668 thread, post #2 says to, "Replace 'allow-hotplug' with 'auto'.  That ('auto') is what I have.  Post #18 also says to remove all mention of eth0 from /etc/network/interfaces, but again that would leave that NIC entirely unconfigured, which is not the desired state when eth0 is connected to a network.

Offline

Board footer