Problem
Using two different Raspberry Pi's, with two different SD cards, and multiple power adapters and cables to make sure I don't have a hardware issue, I've discovered an issue with newer ArchLinux on the my Raspberry Pi.
After some time (no more than ten minutes), my Raspberry Pi stops responding to network requests (even though the lights stay on) and I must either reboot the Pi, or plug in a USB keyboard and restart networkd
.
I was not able to figure out the cause of the issue, so I installed Rasbian to see if it had issues with my NIC. Rasbian stayed online for more than eight hours.
The last time I installed ArchLinux was about six months ago, and I had zero issues with network connectivity at that time.
Workaround
Many people believed this to be a hardware issue (#archlinux-arm, #raspberrpi), but I had confidence it was an issue with ArchLinux (or something packaged with ArchLinux) so I installed netctl
:
pacman -S netctl
cp /etc/netctl/examples/ethernet-dhcp /etc/netctl
netctl enable ethernet-dhcp
systemctl enable netctl
systemctl disable systemd-networkd
What works
Upon reboot, I immediately have access to the Pi, and the Pi has access to the LAN. The Pi does not drop connectivity, as it did with networkd
.
What doesn't work
Once the Pi has gotten an IP address, it does not set up any default routes. The Pi can still access the LAN, but doesn't have WAN access until I give it a default gateway:
route add default gw x.x.x.x eth0
Questions
- Are there any known issues with
networkd
that would explain this issue (I have yet to find anything)? - Does anybody have any suggestions on why
networkd
is acting this way? - Does anybody have any suggestions on how to get
netctl
to accept routing options from my DHCP server?