0

So, I have my raspberry pi running Raspbian 9 configured using a static IP address for both WLAN0 and ETH0.

Both work if I boot with an ethernet-cable plugged in.

But, in certain situations, it happens that my pi should boot without a cable plugged in, or with the router not being alive yet. When this situation occurs, for some reason my raspberry pi will not connect to the network (as in: I can never reach it, be it by SSH or ping) untill I give it a reset.

I've read about an option "allow_hotplug" which sounds like the thing I need, but that doesn't work either (and I guess I shouldn't even be touching /etc/network/interfaces on Debian Stretch..)

Could anyone point me in the right direction? I really need this pi to be reachable on the network, even when the network is a bit slower in starting than the pi.

For reference:

/etc/network/interfaces:

# interfaces(5) file used by ifup(8) and ifdown(8)

# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'

# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

auto lo
iface lo inet loopback

iface eth0 inet manual

allow-hotplug wlan0
iface wlan0 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

allow-hotplug wlan1
iface wlan1 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

and /etc/dhcpcd.conf:

# A sample configuration for dhcpcd.
# See dhcpcd.conf(5) for details.

# Allow users of this group to interact with dhcpcd via the control socket.
#controlgroup wheel

# Inform the DHCP server of our hostname for DDNS.
hostname

# Use the hardware address of the interface for the Client ID.
clientid
# or
# Use the same DUID + IAID as set in DHCPv6 for DHCPv4 ClientID as per RFC4361.
# Some non-RFC compliant DHCP servers do not reply with this set.
# In this case, comment out duid and enable clientid above.
#duid

# Persist interface configuration when dhcpcd exits.
persistent

# Rapid commit support.
# Safe to enable by default because it requires the equivalent option set
# on the server to actually work.
option rapid_commit

# A list of options to request from the DHCP server.
option domain_name_servers, domain_name, domain_search, host_name
option classless_static_routes
# Most distributions have NTP support.
option ntp_servers
# Respect the network MTU. This is applied to DHCP routes.
option interface_mtu

# A ServerID is required by RFC2131.
require dhcp_server_identifier

# Generate Stable Private IPv6 Addresses instead of hardware based ones
slaac private

interface wlan0
static ip_address=192.168.123.45/24
static routers=192.168.123.45
static domain_name_servers=8.8.8.8 8.8.4.4

denyinterfaces wlan0

interface eth0
static ip_address=192.168.1.199/24
static routers=192.168.1.1
static domain_name_servers=8.8.8.8 8.8.4.4
Michiel
  • 11
  • 3

2 Answers2

1

I've found the answer myself.

Apparently ifplugd was not installed by default. When I installed that and made sure the OS does not wait for a network connection on boot, things started working when hotplugging a LAN cable.

Michiel
  • 11
  • 3
0

If you are running Raspbian Stretch the /etc/network/interfaces file is NOT as listed; indeed the correct file does NOTHING and is unnecessary.

By modifying it you are probable running duplicate wpa_supplicantprocesses, with unknown consequences.

You DO NOT need ifplugd (or any other applications) for networking to run.

See How to set up networking/WiFi

Your static settings are on 2 different networks, and the settings seem unusual. It is unclear what you are trying to achieve.

Milliways
  • 62,573
  • 32
  • 113
  • 225