If we get ADD events from udev for a new link but run in unmanaged mode,
skip the event. It is fairly unlikely that another manager has already
started wpa_supplicant on it (and even if, it would be racy).
Hence, lets not support hotplugging in these cases until external managers
provide us a notification API.
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
If miracled is spawned with --manage-wifi, we run our own copy of
wpa_supplicant on managed devices. This is meant for testing purposes
only. Hopefully, network-manages like NM or connman will provide a P2P API
at some time so we can switch. Until then, we allow the user to control
who is in charge of wpa_supplicant.
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
Allow users to tag devices as "miracle" via udev so they get picked up
automatically. We also add a generic "remove"-monitor so we correctly drop
links as they get unplugged. The wpa_supplicant notification is unreliable
so we want the proper udev-events here.
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
The friendly-name is used as name for local links. Default to a random
string and try to read the local hostname during startup.
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
This initial commit contains the main "miracled" daemon that does
link-management and peer-discovery/control. The "miraclectl" tool can be
used to control this daemon during runtime.
Note that this implementation is still missing a lot of stuff. All it
currently does is provide link-management and basic peer-discovery.
Following commits will hook everything else up.
The actual Miracast/Wifi-Display related runtime control is not being
worked on, yet. Feel free to use the proof-of-concept from the OpenWFD
repository. The MiracleCast implementation will not get any such
functionality unless the basic link-management is properly working.
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>