Your message dated Sat, 17 Sep 2016 12:28:13 +0000
with message-id <e1blej7-0007om...@franck.debian.org>
and subject line Bug#814785: fixed in ifupdown 0.8.14
has caused the Debian Bug report #814785,
regarding ifupdown: fails to bring up "wpa-roam" interfaces on boot
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)
--
814785: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=814785
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: ifupdown
Version: 0.8.10
Severity: normal
Tags: patch
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
There appears to be a bit of a chicken-n-egg problem with "wpa-roam"
type interfaces, and any other type of interface which need ifup
before a carrier can be detected:
"/etc/init.d/networking start" will only call ifup on hotplug class
interfaces with a carrier.
A "wpa-roam" type interface will not be able to detect a carrier
until wpa_supplicaant has been started, which is supposed to happen
in the pre-up phase. But there won't be any pre-up phase unless
ifup is called... catch 22.
This is the relevant part if my /etc/network/interfaces:
# use wpa_action to control this interface
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
# 'default' is used by wpa_cli as the fallback mapping target
iface default inet dhcp
Note that the udev hotplug script /lib/udev/ifupdown-hotplug works
fine - unconditionally calling ifup on any new hotplug interface. So
"hotplugging" wlan0 after the system is up will bring up the interface
and start wpa_supplicant.
The problem lies in the hotplug fallback code in /etc/init.d/networking,
which AFAIU is supposed to catch interfaces hotplugged/detected *before*
the system was fully operational. It makes ifup_hotplug depend on carrier
by testing for
[ "$(cat /sys/class/net/$link/operstate)" = up ]
This code has been like that "forever", and I cannot explain why it
suddenly has become a problem. I assume this might be related to udevadm
"settle" support, or some other unrelated boot process change. The main
point is that this code now has become a problem by preventing wlan
interfaces from automatically coming up on boot.
The simple attached patch fixes the problem for me. But I must admit
that I do not understand the intentions of the original code. It seems
completely illogical to avoid ifup unless the link is up, but I assume
there is a reason this was found necessary. In any case, I don't think
that reason can be valid anymore since the /lib/udev/ifupdown-hotplug
behaves differently.
(yes, I know I should probably give up and use networkd or whatever, but
FWIW the simple patch here does allow my to continue using my existin
ifupdown+wpa_supplicant config)
Bjørn
- -- System Information:
Debian Release: 8.3
APT prefers stable
APT policy: (700, 'stable'), (600, 'unstable'), (500, 'stable-updates')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.5.0-rc4+ (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
Versions of packages ifupdown depends on:
ii adduser 3.113+nmu3
ii init-system-helpers 1.28
ii iproute2 4.3.0-1git
ii libc6 2.21-7
ii lsb-base 4.1+Debian13+nmu1
Versions of packages ifupdown recommends:
ii isc-dhcp-client [dhcp-client] 4.3.1-6+deb8u2
Versions of packages ifupdown suggests:
ii ppp 2.4.6-3.1
pn rdnssd <none>
- -- Configuration Files:
/etc/default/networking changed:
VERBOSE=yes
/etc/init.d/networking changed:
PATH="/sbin:/bin"
RUN_DIR="/run/network"
IFSTATE="$RUN_DIR/ifstate"
STATEDIR="$RUN_DIR/state"
[ -x /sbin/ifup ] || exit 0
[ -x /sbin/ifdown ] || exit 0
. /lib/lsb/init-functions
CONFIGURE_INTERFACES=yes
EXCLUDE_INTERFACES=
VERBOSE=no
[ -f /etc/default/networking ] && . /etc/default/networking
verbose=""
[ "$VERBOSE" = yes ] && verbose=-v
process_exclusions() {
set -- $EXCLUDE_INTERFACES
exclusions=""
for d
do
exclusions="-X $d $exclusions"
done
echo $exclusions
}
process_options() {
[ -e /etc/network/options ] || return 0
log_warning_msg "/etc/network/options still exists and it will be IGNORED!
Please use /etc/sysctl.conf instead."
}
check_ifstate() {
if [ ! -d "$RUN_DIR" ] ; then
if ! mkdir -p "$RUN_DIR" ; then
log_failure_msg "can't create $RUN_DIR"
exit 1
fi
if ! chown root:netdev "$RUN_DIR" ; then
log_warning_msg "can't chown $RUN_DIR"
fi
fi
if [ ! -r "$IFSTATE" ] ; then
if ! :> "$IFSTATE" ; then
log_failure_msg "can't initialise $IFSTATE"
exit 1
fi
fi
}
check_network_file_systems() {
[ -e /proc/mounts ] || return 0
if [ -e /etc/iscsi/iscsi.initramfs ]; then
log_warning_msg "not deconfiguring network interfaces: iSCSI root is
mounted."
exit 0
fi
while read DEV MTPT FSTYPE REST; do
case $DEV in
/dev/nbd*|/dev/nd[a-z]*|/dev/etherd/e*|curlftpfs*)
log_warning_msg "not deconfiguring network interfaces: network
devices still mounted."
exit 0
;;
esac
case $FSTYPE in
nfs|nfs4|smbfs|ncp|ncpfs|cifs|coda|ocfs2|gfs|pvfs|pvfs2|fuse.httpfs|fuse.curlftpfs)
log_warning_msg "not deconfiguring network interfaces: network file
systems still mounted."
exit 0
;;
esac
done < /proc/mounts
}
check_network_swap() {
[ -e /proc/swaps ] || return 0
while read DEV MTPT FSTYPE REST; do
case $DEV in
/dev/nbd*|/dev/nd[a-z]*|/dev/etherd/e*)
log_warning_msg "not deconfiguring network interfaces: network swap
still mounted."
exit 0
;;
esac
done < /proc/swaps
}
ifup_hotplug () {
if [ -d /sys/class/net ]
then
ifaces=$(for iface in $(ifquery --list --allow=hotplug)
do
link=${iface##:*}
link=${link##.*}
if [ -e "/sys/class/net/$link" ]
then
echo "$iface"
fi
done)
if [ -n "$ifaces" ]
then
ifup $ifaces "$@" || true
fi
fi
}
case "$1" in
start)
if init_is_upstart; then
exit 1
fi
process_options
check_ifstate
if [ "$CONFIGURE_INTERFACES" = no ]
then
log_action_msg "Not configuring network interfaces, see
/etc/default/networking"
exit 0
fi
set -f
exclusions=$(process_exclusions)
log_action_begin_msg "Configuring network interfaces"
if [ -x /sbin/udevadm ]; then
if [ -n "$(ifquery --list --exclude=lo)" ] || [ -n "$(ifquery
--list --allow=hotplug)" ]; then
udevadm settle || true
fi
fi
if ifup -a $exclusions $verbose && ifup_hotplug $exclusions $verbose
then
log_action_end_msg $?
else
log_action_end_msg $?
fi
;;
stop)
if init_is_upstart; then
exit 0
fi
check_network_file_systems
check_network_swap
log_action_begin_msg "Deconfiguring network interfaces"
if ifdown -a --exclude=lo $verbose; then
log_action_end_msg $?
else
log_action_end_msg $?
fi
;;
reload)
if init_is_upstart; then
exit 1
fi
process_options
log_action_begin_msg "Reloading network interfaces configuration"
state=$(ifquery --state)
ifdown -a --exclude=lo $verbose || true
if ifup --exclude=lo $state $verbose ; then
log_action_end_msg $?
else
log_action_end_msg $?
fi
;;
force-reload|restart)
if init_is_upstart; then
exit 1
fi
process_options
log_warning_msg "Running $0 $1 is deprecated because it may not
re-enable some interfaces"
log_action_begin_msg "Reconfiguring network interfaces"
ifdown -a --exclude=lo $verbose || true
set -f
exclusions=$(process_exclusions)
if ifup -a --exclude=lo $exclusions $verbose && ifup_hotplug
$exclusions $verbose
then
log_action_end_msg $?
else
log_action_end_msg $?
fi
;;
*)
echo "Usage: /etc/init.d/networking
{start|stop|reload|restart|force-reload}"
exit 1
;;
esac
exit 0
- -- no debconf information
-----BEGIN PGP SIGNATURE-----
iEYEARECAAYFAlbBuHMACgkQ10rqkowbIskXPgCeNrqnFEGhMNEwWGPLh3NGFWa7
jFQAnRHFTXnvO9ZekQOxb188vmkGiZaK
=mxBr
-----END PGP SIGNATURE-----
--- /etc/init.d/networking.OLD 2015-07-19 23:45:52.000000000 +0200
+++ /etc/init.d/networking 2016-02-15 12:00:54.600641776 +0100
@@ -107,12 +107,7 @@
link=${link##.*}
if [ -e "/sys/class/net/$link" ]
then
- # link detection does not work unless we up the link
- ip link set "$iface" up || true
- if [ "$(cat /sys/class/net/$link/operstate)" = up ]
- then
- echo "$iface"
- fi
+ echo "$iface"
fi
done)
if [ -n "$ifaces" ]
--- End Message ---
--- Begin Message ---
Source: ifupdown
Source-Version: 0.8.14
We believe that the bug you reported is fixed in the latest version of
ifupdown, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 814...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Guus Sliepen <g...@debian.org> (supplier of updated ifupdown package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Format: 1.8
Date: Sat, 17 Sep 2016 11:40:39 +0200
Source: ifupdown
Binary: ifupdown
Architecture: source amd64
Version: 0.8.14
Distribution: unstable
Urgency: medium
Maintainer: Guus Sliepen <g...@debian.org>
Changed-By: Guus Sliepen <g...@debian.org>
Description:
ifupdown - high level tools to configure network interfaces
Closes: 814785 830212 834820 837732
Changes:
ifupdown (0.8.14) unstable; urgency=medium
.
[ Benjamin Drung ]
* Add InfiniBand parititon key support. Closes: #830212
.
[ Richard Laager ]
* Fix a crash when multiple interfaces are specified for no-scripts.
Closes: #837732
.
[ Bjørn Mork ]
* Ignore link state when bringing up hotplug interfaces at boot.
Closes: #814785, #834820
.
[ Guus Sliepen ]
* Add a test case for the no-scripts keyword.
* Flush automatically assigned addresses on ifup when accept_ra=0.
Checksums-Sha1:
4ffded0027e12ac71e3ca6bb2b66764a4a0bdf31 1545 ifupdown_0.8.14.dsc
f4ba709f5db2c25d385a0b48851ea4b6661f7aa7 71968 ifupdown_0.8.14.tar.xz
b23cfdd218f21aaa5062eb6a11d62b575a9bd60f 64878 ifupdown-dbgsym_0.8.14_amd64.deb
cb3dfd92dbed2a48c1092edbc9c51ca8cdd51274 74530 ifupdown_0.8.14_amd64.deb
Checksums-Sha256:
3ea5215e3051d9d304e08457e6db23cf2a51cfe6dc3be5b91ad91f2c26083189 1545
ifupdown_0.8.14.dsc
7efed5feb5f160d7b2df50e2e42768d8516c6a65f2541cf65a44e109541efa82 71968
ifupdown_0.8.14.tar.xz
41ac11a71c6e284f8d7f335acb8ad234059306ff580792bda11799f95c9a81f4 64878
ifupdown-dbgsym_0.8.14_amd64.deb
0c8b566e59fcf5f0046e515bffd4c5478e42bf6187eec1da2c747a483af1d8dc 74530
ifupdown_0.8.14_amd64.deb
Files:
be0a0146c2f7d4b9f2a1839eba29d408 1545 admin important ifupdown_0.8.14.dsc
5e4205e34f1f8e21b8e364e68ae57de0 71968 admin important ifupdown_0.8.14.tar.xz
faeefd31b042c883bd51bd33a8163b2c 64878 debug extra
ifupdown-dbgsym_0.8.14_amd64.deb
02f5cccd5e7d8fa757ff39b5bd445751 74530 admin important
ifupdown_0.8.14_amd64.deb
-----BEGIN PGP SIGNATURE-----
iQIcBAEBCAAGBQJX3Q/3AAoJED9JDeuHHvn6mJsQAIt/m1vPQImON0DP33O3wM48
3dxx7wJ/y6i4spR94YtMwHkBXJZRc6hEpbxPd+8imraOqmlv+kC1nE0XrtDmZZin
qGPa58tDywD6gGzL0bI8oWlssi/7lNMu6IoQBA6oFvD9nUEmtmABzsWiiuwA3cdH
alympnN8uSrFwWnIgfLsb9LnyGzayNPCk2zgezJMavswQxjitC3nIcoY5bV6sIlC
VqwmCdWqnh9zD8JCWURdbqAsf0JU5IK//Y7aVSVPSN+hi/Y0XkdvGOZK/hcWXt48
1g9RHmOY4lmQ2e/3Id40wklAmgGtEnx+TJqAzOl/KYeoG6/I0WDBcK2mwIPaD0ZV
SOACw2e5okrSShaA9NtOuHuFy379IEPwMGx9decmWa4lCJOYxJO7bEIEwiLIUzXx
VbB5v1RPT0eVgffCjAwMn8aljoZmNJQqhFloqPvT0a5DHcaORfyKmm1BM1B96g7E
OZoJ9uAjI1cxRr+CF0r2vs7PLfB8nbSTD/OAxAlPNqVqoPs4LnW4gGdNMcLBRWF7
8blO22APJGU7czHvhxVsD77F30s3FgQ6zrZASgd9JGj97NK3qN9B13Cc66VpQzC7
Y6AQqbtmmQlSJ2OWfN9ittgZRMcXUB174m0OqTsCSsBQ4y9JECAGwD2tENiYdwx7
5nbNTN6GY1JRWWqZ8wqz
=6pza
-----END PGP SIGNATURE-----
--- End Message ---