<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - Bonding (active-backup) Does Not Play Well with WiFi Links (wpa_supplicant)"
href="https://bugs.freedesktop.org/show_bug.cgi?id=89811">89811</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>Bonding (active-backup) Does Not Play Well with WiFi Links (wpa_supplicant)
</td>
</tr>
<tr>
<th>Product</th>
<td>systemd
</td>
</tr>
<tr>
<th>Version</th>
<td>unspecified
</td>
</tr>
<tr>
<th>Hardware</th>
<td>Other
</td>
</tr>
<tr>
<th>OS</th>
<td>All
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>medium
</td>
</tr>
<tr>
<th>Component</th>
<td>general
</td>
</tr>
<tr>
<th>Assignee</th>
<td>systemd-bugs@lists.freedesktop.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>freedesktop@goodbit.net
</td>
</tr>
<tr>
<th>QA Contact</th>
<td>systemd-bugs@lists.freedesktop.org
</td>
</tr></table>
<p>
<div>
<pre>Created <span class=""><a href="attachment.cgi?id=114701" name="attach_114701" title="Complete journalctl -b">attachment 114701</a> <a href="attachment.cgi?id=114701&action=edit" title="Complete journalctl -b">[details]</a></span>
Complete journalctl -b
There is a troubling race condition between netdev bond devices and WiFi,
where the WiFi component refuses to come up without coaxing.
I found a reference to a similar report in the systemd developer mailing list:
(Question 3)
<a href="http://lists.freedesktop.org/archives/systemd-devel/2015-March/028971.html">http://lists.freedesktop.org/archives/systemd-devel/2015-March/028971.html</a>
My configuration, and a log snippet:
(Arch Linux system, running linux-2.19.3 and systemd v219)
===========
==> /etc/systemd/network/10-bond0.netdev <==
[NetDev]
Name=bond0
Kind=bond
==> /etc/systemd/network/20-eno1.network <==
[Match]
Name=eno1
[Network]
Bond=bond0
==> /etc/systemd/network/21-wlp2s0.network <==
[Match]
Name=wlp2s0
[Network]
Bond=bond0
==> /etc/systemd/network/32-dhcp.network <==
[Match]
Name=bond0
[Network]
DHCP=v4
[DHCP]
UseDomains=true
==> /etc/modprobe.d/bonding.conf <==
options bonding mode=active-backup
options bonding primary=eno1
options bonding miimon=1000
options bonding updelay=2000
options bonding downdelay=8000
--- journalctl -b | grep networkd ---
Mar 29 10:43:15 e5550 systemd-networkd[341]: bond0 : netdev ready
Mar 29 10:43:15 e5550 systemd-networkd[341]: Enumeration completed
Mar 29 10:43:15 e5550 systemd-networkd[341]: wlp2s0 : wlp2s0
: could not join netdev: Operation not permitted
Mar 29 10:43:15 e5550 systemd-networkd[341]: wlp2s0 : failed
Mar 29 10:43:15 e5550 systemd-networkd[341]: eno1 : link configured
Mar 29 10:43:18 e5550 systemd-networkd[341]: eno1 : gained carrier
Mar 29 10:43:18 e5550 systemd-networkd[341]: wlp2s0 : gained carrier
Mar 29 10:43:19 e5550 systemd-networkd[341]: bond0 : gained carrier
Mar 29 10:43:19 e5550 systemd-networkd[341]: bond0 : DHCPv4 address
192.168.0.54/24 via 192.168.0.2
Mar 29 10:43:19 e5550 systemd-networkd[341]: bond0 : link configured
===========
As reported earlier, an orderly restart of the networking daemon clears the
problem
# ip link set eno1 down
# ip link set wlp2s0 down
# systemctl restart systemd-networkd
(And now we are golden)
Here is a hack workaround which might prove a clue as to the root cause.
If I force wpa_supplicant to come up after systemd-networkd, e.g.
===========
$ cat
/etc/systemd/system/wpa_supplicant\@wlp2s0.service.d/customdependency.conf
[Unit]
After=systemd-networkd.service
===========
I can get the wireless interface to come up fairly reliably with every reboot.
My eventual goal is to stack a bridge device on top of bond0,
but I cannot get this to work no matter what.
I think the root cause of this race condition is what is blocking me.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>