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
  • Your question is unclear - are you using Debian or Raspbian? Have you edited /etc/network/interfaces and if so WHY? – Milliways May 22 '18 at 12:45
  • You are right. I am using Raspbian and not Debian. I've edited my question. I did not edit /etc/network/interfaces, but rather I did edit /etc/dhcpcd.conf. I use that to have a static IP. – Michiel May 22 '18 at 13:12

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
  • 59,890
  • 31
  • 101
  • 209
  • So for a network cable to be hotpluggable, I do not need ifplugd? It's running headless so I don't have a choice I think. The 2 different networks is as intended, they are actually on two different networks. – Michiel May 23 '18 at 08:09
  • Why don't you just try it and see - works on my Pi, but I don't use static. I still think the settings are weird, in particular setting routers to your local IP – Milliways May 23 '18 at 08:16
  • Yea, well it didn't work until I installed ifplugd. Maybe it is because of the static IP. The WLAN0 settings are for an AP that the pi broadcasts btw. – Michiel May 23 '18 at 09:33