I've had a case of a machine where eth0 was appearing a bit later
after the boot, and appearing _downed_. ifplugd then fails to detect
"link up". Thus, depending on how service startup
("ip link set dev eth0 up") races with driver initialization,
ethernet randomly fails to initialize on boot.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
if="${PWD##*/dhcp_}"
echo "* Upping iface $if"
-ip link set dev "$if" up
+ip link set dev "$if" up || { sleep 5; exit; }
-echo "* Starting udhcpc"
+echo "* Starting udhcpc on $if [$$]"
exec \
env - PATH="$PATH" \
softlimit \
if="${PWD##*/dhcpd_}"
echo "* Upping iface $if"
-ip link set dev $if up
+ip link set dev $if up || { sleep 5; exit; }
>>udhcpd.leases
sed 's/^interface.*$/interface '"$if/" -i udhcpd.conf
-echo "* Starting udhcpd"
+echo "* Starting udhcpd on $if [$$]"
exec \
env - PATH="$PATH" \
softlimit \
if="${PWD##*/ifplugd_}"
echo "* Upping iface $if"
-ip link set dev "$if" up
+ip link set dev "$if" up || { sleep 5; exit; }
echo "* Starting ifplugd on $if [$$]"
exec \
##echo "* Powersave disable on $if"
##iw dev "$if" set power_save off
-echo "* Starting wpa_supplicant"
+echo "* Starting wpa_supplicant on $if [$$]"
exec \
env - PATH="$PATH" \
softlimit \
if="${PWD##*/zcip_}"
echo "* Upping iface $if"
-ip link set dev "$if" up
+ip link set dev "$if" up || { sleep 5; exit; }
-echo "* Starting zcip"
+echo "* Starting zcip on $if [$$]"
exec \
env - PATH="$PATH" \
softlimit \