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

32 commits

Author SHA1 Message Date
Derek Dai
8381290479
miracle-wifid: let the format of wfd_dev_info compliant with wfd_subelems to ease parsing 2017-02-13 13:12:55 +08:00
Derek Dai
21fc207d4c
miracle-wifid: fix some leaks of wpas_message 2017-02-13 13:12:53 +08:00
albfan
cd23da3c74 Fix finding subnet 2016-10-01 12:29:48 +02:00
Derek Dai
3886dcb7c7 add option --use-dev to miracle-wifid to workaround the 'no ifname' issue 2016-09-14 16:01:54 +08:00
Derek Dai
a9266e5055 re-dispatch wpa_message with ifname!=NULL from supplicant_global_fn() to supplicant_dev_fn() 2016-09-14 15:01:26 +08:00
albfan
36be37ed8b Fix wpa_supplicant search when path did not exists 2016-08-26 06:29:34 +02:00
Derek Dai
4601514799 find wpa_supplicant through PATH instead of option --wpa-bindir 2016-08-15 17:35:38 +08:00
albfan
4637409d0b relay on PATH to find executables 2016-07-02 15:22:13 +02:00
albfan
73adee82bf Select interface to use
Start miraclecast against interface of choose.

- By tagged udev device
- By `--interface` or `-i` option

resolves #36, resolves #43, resolves #46
2015-08-30 11:20:41 +02:00
albfan
781231db26 comment avaliable prov methods
Use only pbc method, but keep commented all available methods
2015-08-22 12:18:46 +02:00
albfan
81e71c8387 ignored wpa events
relates to #37
2015-07-29 20:33:27 +02:00
albfan
30459133ed prov type for default config 2015-07-29 20:18:01 +02:00
albfan
de76677bf8 manage prov type 2015-07-29 20:18:01 +02:00
albfan
544758f3d2 cleanup cmake config 2015-04-12 10:34:42 +02:00
Andrey Gusakov
2fac0f0ea9 Notice sinkctl if pending peer fails to connect/disconnects
Signed-off-by: Andrey Gusakov <andrey.gusakov@cogentembedded.com>
2015-03-30 12:06:38 +02:00
Andrey Gusakov
0d54cd4e0b Separate go_neg_request and provision_discovery
Signed-off-by: Andrey Gusakov <andrey.gusakov@cogentembedded.com>
2015-03-30 12:06:38 +02:00
Andrey Gusakov
563a415a24 Accept connection only on p2p_go_neg_request
Signed-off-by: Andrey Gusakov <andrey.gusakov@cogentembedded.com>
2015-03-30 12:06:38 +02:00
Andrey Gusakov
5aa1772240 Add P2P-GO-NEG-REQUEST handler
Signed-off-by: Andrey Gusakov <andrey.gusakov@cogentembedded.com>
2015-03-30 12:06:38 +02:00
Andrey Gusakov
026e7ea095 Set Miracle as device name if no frindly_name set
Signed-off-by: Andrey Gusakov <andrey.gusakov@cogentembedded.com>
2015-03-30 12:06:38 +02:00
Andrey Gusakov
06d7dce2ec wifi: report formation failture if pending peer is lost
Properly notify API users if we free peers that are pending. This way,
they don't have to use timers to restart peer discovery on wpa_supplicant
failures.

Signed-off-by: Andrey Gusakov <andrey.gusakov@cogentembedded.com>
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-09-03 08:42:16 +02:00
Andrey Gusakov
204fa269e3 wifi: do not start new connections if one is already pending
If there is already a connection pending, don't start a new one.
Unfortunately, wpa_supplicant is unable to deal with this so we have to
enforce this.. Yuck!

We also reset the pending state during P2P_FIND now, this enables API
users to reset failed connections that wpa_supplicant was unable to close
(yeah, beacuse it's so hard to write proper APIs.. *sigh*).

Signed-off-by: Andrey Gusakov <andrey.gusakov@cogentembedded.com>
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-09-03 08:39:08 +02:00
Andrey Gusakov
e79f08dd25 wifi: p2p_connect does not need display parameter
No need to add 'display' to p2p_connect commands. Drop it for future
compatibility.

Signed-off-by: Andrey Gusakov <andrey.gusakov@cogentembedded.com>
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-09-03 08:34:14 +02:00
Andrey Gusakov
67ad486765 wifi: check device_name and name in supplicant_parse_peer()
P2P-PEER reports the device name as 'device_name' while P2P-DEVICE-FOUND
reports it as 'name'. Try both.

Signed-off-by: Andrey Gusakov <andrey.gusakov@cogentembedded.com>
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-09-03 08:11:13 +02:00
Andrey Gusakov
9b801d6b0e wifi: reformat MACs returned from DHCP
ether_ntoa() function used in DHCP server skips leading zeros so
reformat is needed to make strcmp() work for mac-comparisons.

Signed-off-by: Andrey Gusakov <andrey.gusakov@cogentembedded.com>
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-08-13 08:52:08 +02:00
Andrey Gusakov
eecf576fa9 wifi: fix possible null-pointer dereference on sta_mac
p->sp->sta_mac is not mandatory set so check it before accessing it.

Signed-off-by: Andrey Gusakov <andrey.gusakov@cogentembedded.com>
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-08-13 08:30:56 +02:00
Andrey Gusakov
9196c5c426 wifi: handle P2P_GROUP_FORMATION_FAILURE
Forward group-formation-failure events via dbus so sinkctl can restart
p2p-scans immediately. Unfortunately, the event itself does not contain
any useful information at all. Therefore, we have to track the connection
attempts ourselves.

Signed-off-by: Andrey Gusakov <adnrey.gusakov@cogentembedded.com>
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-08-05 13:02:18 +02:00
David Herrmann
0f9ca6e7b8 build: adjust to new libsystemd-event API
The individual timer-sources were replaced by a unified timer-source.
Adjust to that.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-05-09 09:29:39 +02:00
David Herrmann
4ea4bb7d82 wifi: parse P2P_DEVICE_FOUND immediately
If we delay device-parsing until P2P_PEER returns, we might receive other
device events in between which we cannot handle as the peer is unknown.
Avoid that by immediately creating the peer and appending more detailed
data later once P2P_PEER returns.

As P2P_PEER keys and P2P_DEVICE_FOUND keys are different (wholy shit, what
a fucking interface), we need to parse both. Lets hope there won't be any
conflicts.

WARNING: The wfd_subelements field is currently very inconsistent.
Sometimes we only use dev_info fields, somethings the whole IE. Users
shall use it as boolean value, only (set vs. unset). Once we add a proper
IE parser, we will provide more advanced fields.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-05-08 12:24:19 +02:00
David Herrmann
63a0580695 wifi: send P2P_FIND on each p2p_scan() request
wpa_supplicant is horrible in notifying us about p2p-scans. During failed
connection attempts or other timeouts, we usually are not notified about
scan-stops. Therefore, a following p2p-scan will simply be ignored as we
think it's still running.

Avoid that problem by always forwarding the P2P_FIND command.
wpa_supplicant can deal with redundant requests so we're fine. Note that
this requires the caller to issue these calls in intervals or/and after
any issues wifi request. Once wpas fixes this issue, we can add this guard
again and the redundant requests will be suppressed.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-05-08 11:11:02 +02:00
David Herrmann
e2781c0a7a wifi: fix unused-result warning in log_ENOMEM()
Use log_vENOMEM() as we don't use the return-code.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-05-08 11:06:07 +02:00
David Herrmann
e624d5f81a wifi: add wfd-subelement properties
Allow dbus API users to read and modify WFD subelements.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-04-23 12:07:23 +02:00
David Herrmann
18a5094bc0 Add new miracle-wifid daemon
The miracle-wifid daemon is a rewrite of the wifi-related parts of
miracled. Unlike miracled, we no longer integrate the wifi-part directly
into the core daemon. This way, we can easily replace the wifi-bridge with
other network managers once they gain P2P capabilities.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-03-19 13:08:25 +01:00