1
0
Fork 0
mirror of https://github.com/albfan/miraclecast.git synced 2025-03-09 23:38:56 +00:00
Commit graph

14 commits

Author SHA1 Message Date
Alberto Fanjul
931cbea770 include stdio.h 2014-09-09 12:16:12 +02:00
David Herrmann
87b804c481 Remove old wifi code in miracled
The wifi code is now moved to miracle-wifid, no need to keep it anymore.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-03-19 13:31:01 +01:00
David Herrmann
fe571fb729 miracled: try at most 5 times to connect to wpas
If, after 5 times (which is 1s), wpa_supplicant is still not reachable, we
now drop the link. This avoids hangup issues during wpas startup that
might happen from time to time.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-02-17 16:47:24 +01:00
David Herrmann
6a37cbe6b8 miracled: support managed wpa_supplicant
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>
2014-02-17 16:42:54 +01:00
David Herrmann
3a8e2ff9e0 miracled: add udev-based link enumeration/monitor
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>
2014-02-17 14:37:25 +01:00
David Herrmann
14aa8368e6 miracled: send ScanStopped events
We should notify miraclectl about ScanStopped events so we can correctly
track active scans. If we don't do that, we would have to explicitly track
it on connect/disconnect/etc. commands, which seems cumbersome given the
undeterminisc actions they cause.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-02-17 13:45:50 +01:00
David Herrmann
dd3c8eac9c miracled: hook up peer-connection with dbus
Hook up the peer-dbus API with the underlying peer objects. This allows to
handle incoming requests and deal with connection issues.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-02-11 14:27:14 +01:00
David Herrmann
e60e678d40 miracled: implement Start/StopScan
Both dbus commands allow external programs to make our device discoverable
for P2P devices and also start scanning for remote devices.

The commands are *not* ref-counted right now, so parallel use is
discouraged. However, these commands can interrupt normal operations on a
wifi-device anyway, so if used in parallel, it is very like to break.
Thus, keep the interface simple and require callers to do
access-management (it's root-only, anyway..).

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-02-10 16:56:59 +01:00
David Herrmann
8bcf3348e8 miracled: implement InterfacesAdded/Removed
Send ObjectManager.Interfaces{Added,Removed} signals whenever new objects
appear. Note that we cannot set DBus interfaces there as sd-bus ignores
them. We'll try to fix that upstream and until then just not expose any of
those.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-02-10 16:29:02 +01:00
David Herrmann
5d5ab7761f miracled: implement PropertiesChanged signals
We need to send PropertiesChanged signals whenever we change properties
that are annotated as such.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-02-10 15:57:02 +01:00
David Herrmann
fde71e7352 miracled: implement peer properties
Implement basic peer properties and hook them up with dbus. Also add a
device_name parser to the wifi implementation so we correctly read the
friendly-name of remote devices.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-02-10 14:58:32 +01:00
David Herrmann
2e50d006ad miracled: friendly-name support for local links
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>
2014-02-10 12:58:24 +01:00
David Herrmann
062c73ecf3 miracled: move link_make_name() declaration
Make the header consistent and move independent helpers above the real
object handling.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-02-10 12:15:05 +01:00
David Herrmann
051b584746 Initial MiracleCast Implementation
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>
2014-02-09 18:36:06 +01:00