| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Our solution supports this and it speeds up initial connection
to hidden networks.
Signed-off-by: Eyal Shapira <eyal@wizery.com>
|
|
|
|
|
|
|
|
|
|
| |
Some drivers support sched scan and normal scan. Enable this
by configuration of concurrent_sched_scan=1
This can speed up connection to scan_ssid=1 networks as
the sched scan doesn't get interrupted by a normal scan
for wildcard SSID.
Signed-off-by: Eyal Shapira <eyal@wizery.com>
|
|
|
|
|
|
|
|
|
|
| |
In the case of max_scan_ssids=1 we may fallback to normal scan
if there's a single scan_ssid network. However the normal scan
can't add a wildcard SSID to the ssid list as it's limited to a single
entry. This delays getting broadcast scan results.
Always prefer to do a sched scan in such a case.
Signed-off-by: Eyal Shapira <eyal@wizery.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This prevents P2P IEs from being added to probes of scans on the
STA interface. These are not needed and prolong required channel
dwell time and Tx of probes.
This is somewhat of a hack but was a preferred approach on adding
framework changes to add p2p_disabled=1 to p2p_supplicant.conf and
not to wpa_supplicant.conf when both are created from the same template.
Signed-off-by: Eyal Shapira <eyal@wizery.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
By default, P2P is enabled globally for all virtual interfaces and this
makes wpa_supplicant include WSC and P2P IEs in Probe Request frames for
all scans even if this is for a non-P2P station connection to speed up
device discovery. If an interface is dedicated for non-P2P station mode
operations, it is now possible to disable addition of WSC and P2P IEs
into Probe Request frames with a per-interface p2p_disabled parameter.
This can be set either in the configuration file (p2p_disabled=1) or at
run time ("wpa_cli -i wlan0 set p2p_disabled 1"). Unlike the previous
mechanism ("wpa_cli p2p_set disabled 1"), the new parameter changes the
behavior only for the specified interface while other interfaces
continue to follow the global P2P enabled/disabled state.
Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Eyal Shapira <eyal@wizery.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This is replaced by a recent patch by Jouni in the upstream:
"P2P: Allow P2P functionality to be disabled per interface"
This reverts commit a56f6df6f8e5dcd650893e8beb4a16a633c179d1.
Conflicts:
src/p2p/p2p.c
|
|
|
|
|
|
|
|
|
|
| |
In the case of a persistent GO invoking a P2P group by invite
the P2P client starts scanning for the GO but it might still
not be up. If not found the next scan is scheduled for scan_interval
secs but this too long.
Speed up scans to find GO like it's being done in P2P provisioing.
Signed-off-by: Eyal Shapira <eyal@wizery.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Configuring two identical SSIDs - one with WEP-SHARED
security and one with AES/TKIP breaks any authentication
attempt with WEP-SHARED SSID.
Reason for this behavior is that during BSS selection
from the priority group wrong BSS (with AES/TKIP) was
selected. Fix this by disallowing "non-WPA/WPA2" BSS
selection with defined rsn_ie/wpa_ie.
Signed-off-by: Victor Goldenshtein <victorg@ti.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The missing call to scan_action_done keeps us offchan
on the listen channel for 250ms following sending go neg resp.
In case the oper channel is different from the listen channel
and we're GO a race could lead to start beaconing while offchan.
This causes the beacons to go out on the listen channel instead
of the oper channel.
Signed-off-by: Eyal Shapira <eyal@wizery.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
p2p_group_remove * calls wpas_p2p_disconnect on all
interfaces including non P2P ones. This has undesired
effects such as disconnecting concurrent connected STA
interfaces as well as emitting P2P-GROUP-REMOVED events
on all interfaces including ones that didn't actually
have a P2P CLI or GO running.
Instead fail explicitly when attempting to p2p disconnect
an interface with no P2P activity.
Signed-off-by: Eyal Shapira <eyal@wizery.com>
|
|
|
|
|
|
| |
When operating as a GO, disassoc the peer station on aging/Tx failure
Signed-off-by: Arik Nemtsov <arik@wizery.com>
|
|
|
|
|
|
|
|
|
| |
The roc on a channel for 100+ ms which is part of the find
disturbs the P2P GO/CLI as these scenarios are unsupported
in non multi channel driver.
Therefore block the find in this case.
Signed-off-by: Eyal Shapira <eyal@wizery.com>
|
|
|
|
|
|
|
| |
Used the wrong string compare API before.
Fix it by using the correst API.
Signed-off-by: Vishal Mahaveer <vishalm@ti.com>
|
|
|
|
|
|
|
|
|
| |
Stop blocking GO role if its operational channel
differs from the STA channel, as now the driver
can handle channel conflicts by sending channel
switch request to the userspace.
Signed-off-by: Victor Goldenshtein <victorg@ti.com>
|
|
|
|
|
|
|
|
| |
SETBAND command is handled in wpa_supplicant_driver_cmd API.
Add a dummy handler in driver_nl80211 for avoiding misleading log,
"Unsupported command: SETBAND ".
Signed-off-by: Vishal Mahaveer <vishalm@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Should be squashed with:
commit 61d59eaa7ebf59c926d40b00228e227b3d27f8c9
Author: Arik Nemtsov <arik@wizery.com>
Date: Mon Sep 24 17:39:23 2012 +0200
P2P: add conf param to prefer p2p multi channel
Reported-by: Eyal Shapira <eyal@wizery.com>
Signed-off-by: Arik Nemtsov <arik@wizery.com>
|
|
|
|
|
|
|
|
|
| |
Set the p2p_multi_chan parameter to 1 by default. It will have no effect
if the current driver doesn't support multi-channel. Otherwise it will
allow the P2P channel to be set while disregarding other connected
interfaces on the phy.
Signed-off-by: Arik Nemtsov <arik@wizery.com>
|
|
|
|
|
|
|
|
|
|
|
| |
When p2p_multi_chan=1 is set in the wpa_supplicant.conf file, don't set
the P2P operating channel according to any existing shared frequency.
Normally we would force the operating channel to be the same as that of
other interfaces operating on the same phy. This param allow us to optimize
P2P user experience by allowing an arbitrary operating channel.
Signed-off-by: Arik Nemtsov <arik@wizery.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Handles the forgotten p2p_process_go_neg_resp() case of patch:
commit 66b8140a08b9f6297cd49a3428ada713bf668300
Author: Arik Nemtsov <arik@wizery.com>
Date: Thu Aug 30 21:06:45 2012 +0300
P2P: always re-select oper channel if not hard coded
Signed-off-by: Arik Nemtsov <arik@wizery.com>
|
|
|
|
|
|
|
| |
When the multi-channel flag is on, don't try to force specific
p2p connection modes or change go_intent.
Signed-off-by: Arik Nemtsov <arik@wizery.com>
|
|
|
|
|
|
| |
add channel switch related commands and attributes
Signed-off-by: Arik Nemtsov <arik@wizery.com>
|
|
|
|
|
|
|
|
| |
Implement AP channel switch command. Handle
channel switch request and channel switch
complete events.
Signed-hostap: Victor Goldenshtein <victorg@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add channel switch command and handle channel switch
request/complete events.
New hostapd_eid_csa() which builds the channel switch
announcement IE. Add this CSA to the beacon frame prior
performing a channel switch and remove it once it's
completed.
New EVENT_REQ_CH_SW which indicates that the driver
has requested to perform a channel switch.
Signed-hostap: Victor Goldenshtein <victorg@ti.com>
|
|
|
|
|
|
| |
New hostapd_channel_switch – to handle channel switch request.
Signed-hostap: Victor Goldenshtein <victorg@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is part of changing the RX filters configuration to being
global and not dependent on the interface context.
RX filter #0 should point to a filter matching any unicast frame
sent to the STA (wlan0) mac. The configuration is done by
querying the mac address of the interface. As we now have
reconfiguration of filters done from the context of the p2p interface
filter #0 would get reconfigured with the P2P dev mac.
Avoid this by hard coded querying for the mac of wlan0 when
creating the pattern for RX filter #0.
Signed-off-by: Eyal Shapira <eyal@wizery.com>
|
|
|
|
|
|
|
|
|
|
| |
This is used to reconfigure RX filters to include a new filter whenever
the P2P group interface is added. The new filter matches any unicast
frame sent to a dest mac which matches the P2P group interface mac.
This is important as otherwise we wouldn't allow any data frames through
to this interface.
Signed-off-by: Eyal Shapira <eyal@wizery.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current RX filters are statically defined and can only
be enabled or disabled by the DRIVER RX-FILTER commands.
Add support to add or remove RX filters "on the fly" from
within wpa_s code so we can use this to add an RX filter matching
unicast packets going to the new P2P interface mac.
Whenever the filters change the whole list of filters needs
to be configured to the kernel.
Signed-off-by: Eyal Shapira <eyal@wizery.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The RX filters (wowlan) configuration is per interface
but this doesn't reflect the state in the kernel where it's
per hw device (effectively in Android global).
In JB this is more important as wpa_s uses up to 3 different
interfaces when running P2P+STA. Also, fix a minor bug
in nl80211_toggle_wowlan_trigger where the wpa_s wowlan state
changed even if configuring the kernel failed.
Signed-off-by: Eyal Shapira <eyal@wizery.com>
|
|
|
|
|
|
|
|
|
|
| |
The following driver specific commands aren't used in JB
and were replaced by other APIs:
POWERMODE,GETPOWER,LINKSPEED,RSSI,RSSI-APPROX
Remove code handling these commands.
Signed-off-by: Eyal Shapira <eyal@wizery.com>
|
|
|
|
|
|
|
|
| |
There's no support for this in the driver for now
as the relevant patches were dropped. Therefore
remove relevant code in wpa_s as well.
Signed-off-by: Eyal Shapira <eyal@wizery.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Commit e5693c4775bae65faa960f80889f98b0a6cb2e1c added a copy of the
determined basic rate set into struct hostapd_iface, but did not
actually copy the terminating -1 value. This could be problematic if
something were to actually try to use this list since would be no way to
know what is the last entry in the list. Fix this by copying the
terminating value.
Signed-hostap: Jouni Malinen <j@w1.fi>
|
|
|
|
|
|
|
|
| |
When no other user preference is specified, opt to use an operating
channel that allows HT40 operation. This way, if driver capabilities
and regulatory constraints allow, we might enjoy increased bandwidth.
Signed-hostap: Arik Nemtsov <arik@wizery.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Since the operating channel is randomly set to 1/6/11 on init, which is
always in the channel intersection, we were effectively ignoring the set
of p2p preferred channels.
Fix this by trying to get the best channel we can, unless the user hard
coded the operating channel in the configuration file. Fall back to the
initial randomly selected channel if a better one cannot be chosen.
Signed-hostap: Arik Nemtsov <arik@wizery.com>
|
|
|
|
| |
Signed-off-by: Arik Nemtsov <arik@wizery.com>
|
|
|
|
|
|
|
|
|
|
| |
When specified in the conf file this parameter will make all
invocations of p2p_group_add and p2p_connect behave as if "ht40"
has been specified on the command line.
This shouldn't do harm since regulatory constraints and driver
capabilities are consulted anyway before starting HT40 mode.
Signed-hostap: Arik Nemtsov <arik@wizery.com>
|
|
|
|
|
|
|
| |
Increase GO config timeout if HT40 is used since it takes some time
to scan channels for coex purposes before the BSS can be started.
Signed-hostap: Jouni Malinen <j@w1.fi>
|
|
|
|
|
|
|
| |
This can be used to start negotiated GO in 40 MHz channel width
in 5GHz band.
Signed-hostap: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
|
|
|
|
|
|
|
|
| |
Add optional "ht40" argument for p2p_group_add command to enable 40 MHz
in 5GHz band. This configures the secondary channel, when HT support is
enabled and if the HW supports 40 MHz channel width.
Signed-hostap: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
|
|
|
|
| |
Signed-hostap: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
|
|
|
|
|
|
|
|
|
| |
If bgscan is enabled, then bgscan is initiated after the connection,
with no bss scan result information. Since a scan was performed prior to
the connection, the information exists and can be used to initialize the
bgscan's cache.
Signed-hostap: Yoni Divinsky <yoni.divinsky@ti.com>
|
|
|
|
|
|
|
| |
This reverts commit 1cd9da6b88d7dd9b3c887b62a584aba4bb08299f.
This old commit has a memory leak. Use a newer commit from upstream that
amends this.
|
|
|
|
|
|
|
|
|
|
| |
There is no need to mandate admission control (ACM=1) by default, so
clear that flag in the case the configuration file does not specify
wmm_ac_{vo,vi}_acm value. This gets closer to the values mentioned
in the sample hostapd.conf file and reduces the need to specify WMM
parameters in the configuration file for most common use cases.
Signed-hostap: Jouni Malinen <j@w1.fi>
|
|
|
|
|
|
|
|
|
| |
The conf doesn't contain any basic rates in some cases. Most notably,
when starting a p2p GO in 5Ghz. Use the iface rates which are
initialized in hostapd_prepare_rates() to the conf rates or set to
default values if no conf values exist.
Signed-hostap: Arik Nemtsov <arik@wizery.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allow the p2p_connect command to ignore android p2p concurrency
considerations.
Use the command line argument "no_p2p_conc" to p2p_connect in order to
be able to set the go_intent.
For instance:
wpa_cli p2p_connect 00:11:22:33:44:55 pbc no_p2p_conc go_intent=3
Signed-off-by: Arik Nemtsov <arik@wizery.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current code caused P2P and consquently WPS IEs to be added
to any probe as the check was for non null global->p2p.
global->p2p gets set whenever P2P is initialized globally
and that occurs on the first interface init.
Fix this by indicating wps is in use only when in active P2P
discovery or connection establishement.
(i.e. not P2P_IDLE - either doing search, neg or provisioning)
Signed-off-by: Eyal Shapira <eyal@wizery.com>
|
|
|
|
|
|
|
| |
Multiple memcmps of nonces were actually comparing
only the first byte instead of all 16 bytes.
Signed-off-by: Eyal Shapira <eyal@wizery.com>
|
|
|
|
|
|
|
|
|
| |
Refactoring done in
commit 46ee04 IEEE 802.11u: Allow Interworking and HESSID to be configured
broke adding extra ies in sched scan.
Fix it and remove unused params arg in wpa_supplicant_extra_ies.
Signed-off-by: Eyal Shapira <eyal@wizery.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
p2p_set_timeout() calls in GO Neg Req/Resp TX callbacks used timeout of
100 ms which is the value given in the P2P specification for GO
Negotiation, but this was actually shorter than the
wait-for-offchannel-TX value (200 ms) used for the driver call. In
addition, it looks like some devices (e.g., Galaxy Nexus with JB image)
can take longer time to reply to GO Negotiation Response (somewhere
between 200 and 250 ms has been observed).
Increase the wait-for-GO-Neg-Resp timeout from 100 ms to 200 ms if GO
Negotiation Request frame was acknowledged (this matches with the
offchannel wait timeout that used previously). The no-ack case is left
at 100 ms since we use GO Negotiation Request frame also to discover
whether the peer is on its Listen channel.
Increase the wait-for-GO-Neg-Conf timeout from 100 ms to 250 ms (and
increase the offchannel wait timeout to matching 250 ms) as a workaround
for devices that take over 200 ms to reply to GO Negotiation Response.
Signed-hostap: Jouni Malinen <j@w1.fi>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
data may be NULL and should be checked before dereferencing it.
This can happen when scan times out for example.
Another bug fixed is that sched scan wouldn't be kick started
from anywhere. Previously it was started following a normal scan
which didn't find any results. Fix it by start it if it's not running.
(These issues were introduced by commit
a523a28 wpa_s: don't reschedule the sched scan on each scan complete event
and the fix should be squashed into it)
Signed-off-by: Eyal Shapira <eyal@wizery.com>
Signed-off-by: Victor Goldenshtein <victorg@ti.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the network entry is created with both WPA_AUTH_ALG_OPEN and
WPA_AUTH_ALG_SHARED set in wpa_s->current_ssid->auth_alg, the
existing logic will end up picking WPA_AUTH_ALG_LEAP instead of
shared when open authentication fails.
Fix this by using a bitwise-and to check for WPA_AUTH_ALG_OPEN instead.
(Should be squashed into commit
2e35a02 SME: Handle Netgear APs WEP shared quirks)
Signed-Off-By: William List <wlist@ti.com>
Signed-Off-By: Eyal Shapira <eyal@wizery.com>
|