Tomasz Bursztyka | 23 Oct 10:31 2014
Picon

[PATCH 0/4] DBus, handling the P2P mgmt interface properly

Hi,

Some drivers requires a P2P mgmt device to handle all P2P commands, and some don't.
Those are automatically created by wpa_supplicant now, but there was an unconsistency
in the DBus API: the dedicated P2P device appears as well there. 

Thus it's up to the client to know what to do in that case, which makes things a bit
complicated: on ath9k driver, it can do the P2P requests through the same interface,
on iwlwifi it would require to handle those through the p2p interface. 

To get a consistent API, whatever the driver is, I did this patch-set.
Basically, if a P2P mgmt device is created, it is not registered into DBus, thus the
client will not know about it. And then all P2P commands it might do against the
"normal" (non-P2P specific) interface will be transparently redirected to the P2P
mgmt device, and the result will come back to the earlier interface properly.

This hides the P2P mgmt to the DBus client, so this one does not have to handle it
if it is present. So the API usage will identical whatever card/driver is in use below.

Tomasz Bursztyka (4):
  wpa_supplicant: Parent interface should know about its dedicated P2P
    dev
  wpa_supplicant: Do not register a P2P management interface on DBus
  notify: Do not raise any signal from a P2P management interface
  dbus: Redirect P2P request to the managment device if present

 wpa_supplicant/dbus/dbus_new.c              |  83 +++++++++++++++++++---
 wpa_supplicant/dbus/dbus_new_handlers_p2p.c |  53 +++++++++++++--
 wpa_supplicant/notify.c                     | 102 ++++++++++++++++++++++++++++
 wpa_supplicant/p2p_supplicant.c             |   1 +
(Continue reading)

Ilan Peer | 22 Oct 14:03 2014
Picon

[PATCH v2 00/13] Add station WMM AC support

This patch set adds support for station WMM Admission Control.

Note: depends on a change in nl80211 that is pending merge.

Eliad Peller (5):
  drivers: add wmm params to assoc data
  nl80211: parse wmm params on association
  WMM AC: Add basic ADDTS/DELTS sending functions
  utils/common: add str_token function
  tests: add wpas wmm-ac test

Johannes Berg (1):
  WMM AC: notify driver before sending DelTS

Moshe Benji (7):
  WMM AC: parse wmm IE on association
  WMM AC: driver: add add_tx_ts and del_tx_ts driver ops
  WMM AC: handle TSPEC action frames
  ctrl_iface: add wmm_ac_addts and wmm_ac_delts commands
  wpa_cli: WMM_AC_ADDTS and WMM_AC_DELTS commands
  nl80211: implement add_ts/del_ts ops
  WMM AC: add wmm ac status command

 src/common/ieee802_11_defs.h      |   7 +-
 src/common/wpa_ctrl.h             |   5 +
 src/drivers/driver.h              |  46 ++
 src/drivers/driver_nl80211.c      | 137 +++++-
 src/utils/common.c                |  62 +++
 src/utils/common.h                |   2 +
 tests/hwsim/test_wpas_wmm_ac.py   |  54 +++
(Continue reading)

Mikael Kanstrup | 22 Oct 12:01 2014
Picon

[PATCH] P2P: Use neg_freq when re-establish persistent group as GC

When GC receives invitation response and tries to re-establish
connection to a persistent group channels from passive list should
be allowed. A missing check for operation mode triggered reselection
of operating channel from active channels only to happen and thus fail
the connect attempt.

Add a check for operation mode and if GC instead use negotiated
frequency (i.e. GO operating channel from invitation response).

Signed-off-by: Mikael Kanstrup <mikael.kanstrup <at> sonymobile.com>
---
 wpa_supplicant/p2p_supplicant.c | 20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c
index d0e9e05..36d3bac 100644
--- a/wpa_supplicant/p2p_supplicant.c
+++ b/wpa_supplicant/p2p_supplicant.c
 <at>  <at>  -5487,13 +5487,21  <at>  <at>  int wpas_p2p_group_add_persistent(struct
wpa_supplicant *wpa_s,

        wpa_s->p2p_fallback_to_go_neg = 0;

-       if (force_freq > 0) {
-               freq = wpas_p2p_select_go_freq(wpa_s, force_freq);
-               if (freq < 0)
-                       return -1;
+       if (ssid->mode == WPAS_MODE_P2P_GO) {
+               if (force_freq > 0) {
+                       freq = wpas_p2p_select_go_freq(wpa_s, force_freq);
(Continue reading)

Jithu Jance | 22 Oct 09:48 2014
Picon

command for creating virtual interface

Hi Jouni,

Could you share your thoughts on having commands for virtual interface creation and deletion?

I have submitted a patch for the same: http://patchwork.ozlabs.org/patch/351403/

The purpose is to create a virtual interface for a secondary STA or supplicant based AP interface on the fly.


- Jithu


_______________________________________________
HostAP mailing list
HostAP <at> lists.shmoo.com
http://lists.shmoo.com/mailman/listinfo/hostap
Tomasz Bursztyka | 22 Oct 08:33 2014
Picon

[PATCH] dbus: Do a full P2P find as it is in ctrl_iface.c

So the behavior is consistent whatever interface is in use.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka <at> linux.intel.com>
---
 wpa_supplicant/dbus/dbus_new_handlers_p2p.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/wpa_supplicant/dbus/dbus_new_handlers_p2p.c b/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
index 7867f0c..078468d 100644
--- a/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
+++ b/wpa_supplicant/dbus/dbus_new_handlers_p2p.c
 <at>  <at>  -74,7 +74,7  <at>  <at>  DBusMessage * wpas_dbus_handler_p2p_find(DBusMessage *message,
 	DBusMessageIter iter;
 	DBusMessageIter iter_dict;
 	unsigned int timeout = 0;
-	enum p2p_discovery_type type = P2P_FIND_ONLY_SOCIAL;
+	enum p2p_discovery_type type = P2P_FIND_START_WITH_FULL;
 	int num_req_dev_types = 0;
 	unsigned int i;
 	u8 *req_dev_types = NULL;
--

-- 
2.0.4
Bob Copeland | 22 Oct 06:05 2014

[PATCH] mesh: pass in dev instead of ifname to connectivity tests

This patch fixes up test_wpas_mesh.py to pass the dev into
hwsim_utils.test_connectivity instead of the ifname, in order to
fix this error with the mesh tests:

2014-10-20 12:38:41,972 INFO 'str' object has no attribute 'own_addr'

Signed-off-by: Bob Copeland <me <at> bobcopeland.com>
---
 tests/hwsim/test_wpas_mesh.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/hwsim/test_wpas_mesh.py b/tests/hwsim/test_wpas_mesh.py
index 84ef00d..c5eea72 100644
--- a/tests/hwsim/test_wpas_mesh.py
+++ b/tests/hwsim/test_wpas_mesh.py
 <at>  <at>  -191,7 +191,7  <at>  <at>  def wrap_wpas_mesh_test(test, dev, apdev):
     import hwsim_utils

     def _test_connectivity(dev1, dev2):
-        return hwsim_utils.test_connectivity(dev1.ifname, dev2.ifname)
+        return hwsim_utils.test_connectivity(dev1, dev2)

     return test(dev, apdev, _test_connectivity)

--

-- 
2.1.0.rc1
Ilan Peer | 21 Oct 14:16 2014
Picon

[PATCH 00/13] Add station WMM AC support

This patch set adds support for station WMM Admission Control.

Eliad Peller (5):
  drivers: add wmm params to assoc data
  nl80211: parse wmm params on association
  WMM AC: Add basic ADDTS/DELTS sending functions
  utils/common: add str_token function
  tests: add wpas wmm-ac test

Johannes Berg (1):
  WMM AC: notify driver before sending DelTS

Moshe Benji (7):
  WMM AC: parse wmm IE on association
  WMM AC: driver: add add_tx_ts and del_tx_ts driver ops
  WMM AC: handle TSPEC action frames
  ctrl_iface: add wmm_ac_addts and wmm_ac_delts commands
  wpa_cli: WMM_AC_ADDTS and WMM_AC_DELTS commands
  nl80211: implement add_ts/del_ts ops
  WMM AC: add wmm ac status command

 src/common/ieee802_11_defs.h      |   7 +-
 src/common/wpa_ctrl.h             |   5 +
 src/drivers/driver.h              |  37 ++
 src/drivers/driver_nl80211.c      | 139 +++++-
 src/utils/common.c                |  62 +++
 src/utils/common.h                |   2 +
 tests/hwsim/test_wpas_wmm_ac.py   |  54 +++
 tests/hwsim/wpasupplicant.py      |  30 ++
 wpa_supplicant/Android.mk         |   1 +
 wpa_supplicant/Makefile           |   1 +
 wpa_supplicant/ctrl_iface.c       |  56 +++
 wpa_supplicant/driver_i.h         |  18 +
 wpa_supplicant/events.c           |  14 +-
 wpa_supplicant/wmm_ac.c           | 889 ++++++++++++++++++++++++++++++++++++++
 wpa_supplicant/wmm_ac.h           | 172 ++++++++
 wpa_supplicant/wpa_cli.c          |  32 ++
 wpa_supplicant/wpa_supplicant.c   |   2 +
 wpa_supplicant/wpa_supplicant_i.h |   7 +
 18 files changed, 1520 insertions(+), 8 deletions(-)
 create mode 100644 tests/hwsim/test_wpas_wmm_ac.py
 create mode 100644 wpa_supplicant/wmm_ac.c
 create mode 100644 wpa_supplicant/wmm_ac.h

--

-- 
1.8.3.2
kirandivekar | 21 Oct 15:19 2014
Picon

You have a new notification from kirandivekar <at> gmail.com. View??

Click here to discover kirandivekar <at> gmail.com's favorite websites!
New Notification
You have a new notification from
-kirandivekar <at> gmail.com
View? No
Click here to unsubscribe from such emails from kirandivekar <at> gmail.com or all friends


P.O. BOX 70928, Sunnyvale, CA 94086
_______________________________________________
HostAP mailing list
HostAP <at> lists.shmoo.com
http://lists.shmoo.com/mailman/listinfo/hostap
QW | 21 Oct 10:34 2014
Picon

host unable to act as GO in p2p communication

Hello LIST,

I am trying to implement the p2p connection on an embedded system and figured out that the host is unable to act as a GO in the p2p connection (no problem as GC). When I try to connect a device with:
p2p_connect <mac add> pbc go_intent=15
I will always get the error below:

<3>P2P-GROUP-FORMATION-FAILURE
<3>P2P-GROUP-REMOVED wfd0 GO reason=FORMATION_FAILED

With a different version of wpa_supplicant and driver, I can also get the error msg: "p2p failed to start AP functionality" before the P2P-GROUP-FORMATION_FAILURE msg.

If I run p2p_group_add and status to check, I can get
> p2p_group_add
OK
> Can not set data rate in disconnected state
<4>Could not connect to kernel driver
> ADDRCONF(NETDEV_CHANGE): wfd0: link becomes ready
<3>AP-ENABLED
<3>CTRL-EVENT-CONNECTED - Connection to 02:06:c6:37:1d:df completed [id=0 id_str=]
<3>P2P-GROUP-STARTED wfd0 GO ssid="DIRECT-Ny" freq=2412 passphrase="1IcFycSW" go_dev_addr=02:06:c6:37:1d:df
but the p2p client (smartphones for example) can never connect this host.

Platform is i.MX6 with kernel version 3.0.35, driver: 14.44.09p121 from Marvell, which has been proved that it supports GO mode. wpa_supplicant-2.2

Is there a way to locate the issue? How should fix this issue?

Any feedback is much appreciated. Thanks!

Cheers,
Qiuye
_______________________________________________
HostAP mailing list
HostAP <at> lists.shmoo.com
http://lists.shmoo.com/mailman/listinfo/hostap
Johannes Berg | 20 Oct 12:00 2014
Picon

[PATCH 0/5] default to using P2P_DEVICE

In order to test both P2P_DEVICE and non-P2P_DEVICE, use the new dynamic
wiphy capability in hwsim. Also disable P2P_DEVICE support by default by
using the module parameter, so that old tests run as before.

This allows removing the nl80211 "p2p_device=1" parameter completely and
the code will do the right auto-discovery of capabilities now, as it had
been intended originally (but changed due to the testing issues.)

johannes
Ilan Peer | 20 Oct 05:21 2014
Picon

[PATCH 1/3] HT: let the driver advertise its supported smps modes

From: Eliad Peller <eliad <at> wizery.com>

Add smps_modes field, and let the driver fill it
with its supported smps mode (static/dynamic)

Finally, this will let us start an ap with specific
smps mode (e.g. dynamic) that will allow it to
reduce its power usage.

Signed-off-by: Eliad Peller <eliad <at> wizery.com>
---
 hostapd/main.c                    |  1 +
 src/ap/hostapd.h                  |  3 +++
 src/ap/hw_features.c              | 23 ++++++++++++++++++-----
 src/drivers/driver.h              |  4 ++++
 wpa_supplicant/ap.c               |  1 +
 wpa_supplicant/wpa_supplicant.c   |  1 +
 wpa_supplicant/wpa_supplicant_i.h |  1 +
 7 files changed, 29 insertions(+), 5 deletions(-)

diff --git a/hostapd/main.c b/hostapd/main.c
index a9d91b9..5a47711 100644
--- a/hostapd/main.c
+++ b/hostapd/main.c
 <at>  <at>  -213,6 +213,7  <at>  <at>  static int hostapd_driver_init(struct hostapd_iface *iface)
 	if (hapd->driver->get_capa &&
 	    hapd->driver->get_capa(hapd->drv_priv, &capa) == 0) {
 		iface->drv_flags = capa.flags;
+		iface->smps_modes = capa.smps_modes;
 		iface->probe_resp_offloads = capa.probe_resp_offloads;
 		iface->extended_capa = capa.extended_capa;
 		iface->extended_capa_mask = capa.extended_capa_mask;
diff --git a/src/ap/hostapd.h b/src/ap/hostapd.h
index ca01a68..3bd111e 100644
--- a/src/ap/hostapd.h
+++ b/src/ap/hostapd.h
 <at>  <at>  -293,6 +293,9  <at>  <at>  struct hostapd_iface {

 	unsigned int drv_flags;

+	/* smps modes supported by the driver (WPA_DRIVER_SMPS_MODE_*) */
+	unsigned int smps_modes;
+
 	/*
 	 * A bitmap of supported protocols for probe response offload. See
 	 * struct wpa_driver_capa in driver.h
diff --git a/src/ap/hw_features.c b/src/ap/hw_features.c
index 4e66d1b..6796885 100644
--- a/src/ap/hw_features.c
+++ b/src/ap/hw_features.c
 <at>  <at>  -746,11 +746,24  <at>  <at>  static int ieee80211n_supported_ht_capab(struct hostapd_iface *iface)
 		return 0;
 	}

-	if ((conf & HT_CAP_INFO_SMPS_MASK) != (hw & HT_CAP_INFO_SMPS_MASK) &&
-	    (conf & HT_CAP_INFO_SMPS_MASK) != HT_CAP_INFO_SMPS_DISABLED) {
-		wpa_printf(MSG_ERROR, "Driver does not support configured "
-			   "HT capability [SMPS-*]");
-		return 0;
+	switch (conf & HT_CAP_INFO_SMPS_MASK) {
+	case HT_CAP_INFO_SMPS_STATIC:
+		if (!(iface->smps_modes & WPA_DRIVER_SMPS_MODE_STATIC)) {
+			wpa_printf(MSG_ERROR, "Driver does not support "
+				   "configured HT capability [SMPS-STATIC]");
+			return 0;
+		}
+		break;
+	case HT_CAP_INFO_SMPS_DYNAMIC:
+		if (!(iface->smps_modes & WPA_DRIVER_SMPS_MODE_DYNAMIC)) {
+			wpa_printf(MSG_ERROR, "Driver does not support "
+				   "configured HT capability [SMPS-DYNAMIC]");
+			return 0;
+		}
+		break;
+	case HT_CAP_INFO_SMPS_DISABLED:
+	default:
+		break;
 	}

 	if ((conf & HT_CAP_INFO_GREEN_FIELD) &&
diff --git a/src/drivers/driver.h b/src/drivers/driver.h
index ad9d080..9b67136 100644
--- a/src/drivers/driver.h
+++ b/src/drivers/driver.h
 <at>  <at>  -1048,6 +1048,10  <at>  <at>  struct wpa_driver_capa {
 #define WPA_DRIVER_FLAGS_MESH			0x0000000100000000ULL
 	u64 flags;

+#define WPA_DRIVER_SMPS_MODE_STATIC			0x00000001
+#define WPA_DRIVER_SMPS_MODE_DYNAMIC			0x00000002
+	unsigned int smps_modes;
+
 	int max_scan_ssids;
 	int max_sched_scan_ssids;
 	int sched_scan_supported;
diff --git a/wpa_supplicant/ap.c b/wpa_supplicant/ap.c
index 7555c42..ec6e868 100644
--- a/wpa_supplicant/ap.c
+++ b/wpa_supplicant/ap.c
 <at>  <at>  -555,6 +555,7  <at>  <at>  int wpa_supplicant_create_ap(struct wpa_supplicant *wpa_s,
 		return -1;
 	hapd_iface->owner = wpa_s;
 	hapd_iface->drv_flags = wpa_s->drv_flags;
+	hapd_iface->smps_modes = wpa_s->drv_smps_modes;
 	hapd_iface->probe_resp_offloads = wpa_s->probe_resp_offloads;
 	hapd_iface->extended_capa = wpa_s->extended_capa;
 	hapd_iface->extended_capa_mask = wpa_s->extended_capa_mask;
diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c
index b05eb86..58aff9c 100644
--- a/wpa_supplicant/wpa_supplicant.c
+++ b/wpa_supplicant/wpa_supplicant.c
 <at>  <at>  -3788,6 +3788,7  <at>  <at>  static int wpa_supplicant_init_iface(struct wpa_supplicant *wpa_s,
 		wpa_s->drv_capa_known = 1;
 		wpa_s->drv_flags = capa.flags;
 		wpa_s->drv_enc = capa.enc;
+		wpa_s->drv_smps_modes = capa.smps_modes;
 		wpa_s->probe_resp_offloads = capa.probe_resp_offloads;
 		wpa_s->max_scan_ssids = capa.max_scan_ssids;
 		wpa_s->max_sched_scan_ssids = capa.max_sched_scan_ssids;
diff --git a/wpa_supplicant/wpa_supplicant_i.h b/wpa_supplicant/wpa_supplicant_i.h
index 5ad283d..1d390ad 100644
--- a/wpa_supplicant/wpa_supplicant_i.h
+++ b/wpa_supplicant/wpa_supplicant_i.h
 <at>  <at>  -573,6 +573,7  <at>  <at>  struct wpa_supplicant {

 	u64 drv_flags;
 	unsigned int drv_enc;
+	unsigned int drv_smps_modes;

 	/*
 	 * A bitmap of supported protocols for probe response offload. See
--

-- 
1.8.3.2

Gmane