Permalink
Commits on May 2, 2012
  1. Fix processing of channel list update events

    Commit 6bf731e broke handling of
    EVENT_CHANNEL_LIST_CHANGED by introducing a cached copy of the driver
    channel list that does not get updated even if driver changes its list.
    Fix this by synchronizing the cacched wpa_s->hw.modes information
    whenever EVENT_CHANNEL_LIST_CHANGED is processed. This fixes P2P channel
    list updates based on regulatory domain hints that may trigger driver to
    change its supported channel list.
    
    Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
    intended-for: hostap-1
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    jmalinen committed with elp Mar 1, 2012
Commits on Apr 24, 2012
  1. p2p: consider age for the p2p scan results

    Cfg80211 caches the scan results according the
    channel number. Due to the 15 sec aging this
    might cause the user mode to see more than one
    scan result with the same BSSID, e.g. - one
    scan result for the p2p-device and one for the
    p2p-GO (once it's enabled).
    
    Fix this by updating the device entry only if
    the new peer entry is newer than the one
    previously stored.
    
    Signed-off-by: Yoni Divinsky <yoni.divinsky@ti.com>
    Signed-off-by: Victor Goldenshtein <victorg@ti.com>
    Signed-off-by: Igal Chernobelsky <igalc@ti.com>
    yonid committed with igalc Apr 24, 2012
  2. P2P: fast disconnection for the p2p-client

    If we're running a p2p-client and we've received a
    deauth request from the p2p-GO, remove client's
    virtual interface and immediately notify upper
    layers about this event.
    
    Signed-off-by: Rafi Barzilay <rafib@ti.com>
    Signed-off-by: Victor Goldenshtein <victorg@ti.com>
    Signed-off-by: Igal Chernobelsky <igalc@ti.com>
    victorgld committed with igalc Apr 22, 2012
Commits on Mar 26, 2012
  1. P2P: Do not expire peer entry if we are connected to the peer

    Even though we may not update P2P peer entry while connected to the
    peer as a P2P client, we should not be expiring a P2P peer entry while
    that peer is the GO in a group where we are connected as a P2P client.
    
    Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
    Signed-off-by: Victor Goldenshtein <victorg@ti.com>
    Signed-off-by: Igal Chernobelsky <igalc@ti.com>
    jmalinen committed with igalc Jan 25, 2012
  2. P2P: Do not expire peer entry if peer is connected as a client

    Even though we may not receive a Probe Response from the peer during
    the connection, we should not be expiring a P2P peer entry while that
    peer is connected to a group where we are the GO.
    
    Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
    Signed-off-by: Victor Goldenshtein <victorg@ti.com>
    Signed-off-by: Igal Chernobelsky <igalc@ti.com>
    jmalinen committed with igalc Jan 25, 2012
Commits on Mar 22, 2012
Commits on Mar 13, 2012
  1. Android: Implement SETBAND for scan requests

    This provides partial SETBAND driver command implementation by
    converting the request into a filter for which channels are scanned
    by wpa_supplicant.
    
    [Arik: backport to TI hostap version of priv driver commands]
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    jmalinen committed with ariknem Mar 9, 2012
  2. wpa_supplicant: Unify hardware feature data

    The hardware feature data is required in several different places
    throughout the code. Previously, the data was acquired and freed on
    demand, but with this patch wpa_supplicant will keep a single copy
    around at runtime for everyone to use.
    
    [Arik: backported to earlier hostap version]
    
    Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    chunkeey committed with ariknem Oct 23, 2011
Commits on Mar 5, 2012
  1. Fix deauth with reason 7 due to multiple assoc_req received (squash)

    Fix a bug in the patch where in case the assoc_resp wasn't
    ACKed the AP would reject any further assoc attempts.
    
    (This should be squashed into the original patch)
    elp committed with eyalsh Feb 28, 2012
  2. P2P: Ignore PBC overlap in P2P provisioning

    PBC overlap can be ignored as the P2P client knows
    that it should connect to the P2P GO so no point of failing
    the WPS session in case of overlap because some other
    AP had WPS PBC on at the same time.
    eyalsh committed Mar 1, 2012
  3. P2P: Use specific SSID in scan for provisioning step

    Since the P2P client learns the SSID of the group during GO Negotiation,
    use the specific SSID in the Probe Request frames during the
    provisioning step. This helps in avoiding unnecessary Probe Response
    frames from other P2P GOs or APs.
    
    Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
    jmalinen committed with eyalsh Feb 28, 2012
  4. Increase the scan_interval to 15 secs

    The current periodic scan by wpa_s is
    set to 5 secs. This is too short so increase
    it to 15 secs.
    eyalsh committed Feb 29, 2012
  5. Initiate a periodic normal scan in addition to sched scan

    Some applications (e.g. detecting open network around
    in Android) require periodic broadcast scan results.
    The periodic broadcast scan was replaced by sched scan
    completely. Re-enable these scan alongside sched scans.
    eyalsh committed Feb 29, 2012
  6. P2P: update scan results

    (not sure this should go upstream)
    
    update p2p scan results (and notify) if the
    listen_freq or go_state were changed.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Feb 29, 2012
  7. P2P: Notify device expiry via P2P-DEVICE-LOST event

    [just un-#ifdef existing functionality]
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    Jithu Jance committed with elp Oct 28, 2011
  8. P2P: notify about disconnection only when needed

    wpas_notify_state_changed() notifies about disconnection
    when new_state < WPA_ASSOCIATED, without checking the
    old state. This finally might fire the p2p idle group
    timer during the connection attempt.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Feb 28, 2012
  9. Execute p2p_find instead of p2p_listen

    In order for the Android UI to update its
    peers list, p2p_find should be used but the Android
    WiFi Direct UI uses p2p_listen for some reason.
    So workaround it by starting a p2p_find instead.
    elp committed Feb 28, 2012
  10. print ctrl_iface commands

    the android wpa_supplicant currently doesn't implement
    wpa_hexdump_ascii, so add a simple print for the control
    interface commands
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Feb 28, 2012
  11. P2P: Indicate GO Negotiation failure on peer expiration

    If P2P device expires while a GO Negotiation is in progress, currently
    p2p->go_neg_peer is cleared without indicating GO Nego failure. This
    will result in pending group interfaces to be left over. This patch will
    indicate GO Negotiation failure and will remove any pending group
    interfaces.
    
    This patch addresses a corner case in GO-Negotiation case. Consider the
    scenario where two devices A and B are in discovery stage and Device B
    vanishes [moves out of range] when a connect is issued on the Device A.
    Then Device A keeps on retrying the GO Negotiation Request till the
    retry limit is reached. On reaching retry limit, the pending group
    interface is removed. But suppose if the peer entry in the device list
    expires before the retry limit is reached, then pending group interface
    was not removed.
    
    Signed-off-by: Jithu Jance <jithu@broadcom.com>
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    Jithu Jance committed with elp Nov 18, 2011
  12. P2P: ignore neg_req with previously used dialog_token

    The p2p spec is a bit broken. if for some reason we
    get duplicate negotiation request, the supplicant
    will generate 2 different responses (different SSIDs)
    with the same dialog token. The remote peer will
    confirm one of them, but it will probably be the
    wrong one (the first he received)...
    
    Workaround it but ignoring negotiation requests with
    the last used dialog_token.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Feb 27, 2012
Commits on Feb 28, 2012
  1. Always set RXFILTER 0

    Only filter broadcast packets that are handled
    in firmware. unicast packets are not dropped.
    
    This actually reverts commit 081468e
    (Revert "Always set RXFILTER 0 and 1")
    
    Signed-off-by: Ido Reis <idor@ti.com>
    Ido Reis committed Feb 28, 2012
Commits on Feb 26, 2012
  1. Add CONFIG_ROAMING to wpa_s Makefile

    The option was added only in Android.mk and
    was missing in the Makefile used in native linux
    eyalsh committed Feb 25, 2012
  2. nl80211_driver: add private commands to use dropbcast

    Add DRIVER DROPBCAST {GET,ENABLE,DISABLE} commands to show the current
    setting, enable and disable the feature of dropping all broadcast
    packets while in suspend mode.
    
    Signed-off-by: Luciano Coelho <coelho@ti.com>
    Luciano Coelho committed with eyalsh Feb 24, 2012
  3. nl80211: Add and align rx filters IDs

    Add more patterns (SSDP, ARP, DHCP) and align IDs to a common
    vendor Android framework implementation.
    Note that ARP pattern shouldn't be used as our FW
    responds to ARPs by default without waking up the host.
    It is added only for ID alignments purposes.
    eyalsh committed Feb 21, 2012
  4. Revert "Always set RXFILTER 0 and 1"

    This reverts commit 5caf582.
    eyalsh committed Feb 23, 2012
  5. P2P: Add more debug on group idle timeout

    This makes it easier to debug issues with P2P group idle timeout.
    
    Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    jmalinen committed with eyalsh Feb 19, 2012
  6. P2P: Fix group idle timer cancellation on group removal

    The wpas_p2p_group_idle_timeout was getting cancelled in the beginning
    of wpas_p2p_group_delete(). However, in the case of P2P client role,
    this function called wpa_supplicant_deauthenticate() next and that ended
    up changing state to WPA_DISCONNECTED which resulted in
    wpas_p2p_notif_disconnected() rescheduling the timeout. This left the
    unexpected timeout behind after the group was removed. If another group
    operation was started within P2P_MAX_CLIENT_IDLE (10) seconds, that
    timeout could end up terminating the group while it was still being set
    up.
    
    Fix this by reordering wpas_p2p_group_delete() to cancel the group idle
    timeout only after having called wpa_supplicant_deauthenticate(). The
    group idle timeout is still rescheduled, but it gets removed immediately
    afterwards when the actual group information is being cleared.
    
    Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    jmalinen committed with eyalsh Feb 19, 2012
  7. P2P: Use hardcoded idle timeout of 10 seconds in P2P client role

    The p2p_group_idle configuration parameter is much more useful for
    GO role, so use a separate hardcoded value of 10 seconds in P2P
    client role. In practice, this means that the P2P client role will
    automatically tear down the group when the GO tears down the group.
    
    The 10 second timeout is enough to recover from temporary disconnections
    without unnecessary tearing down the group if the GO is still present
    and allows the client to connect.
    
    Signed-hostap: Jouni Malinen <j@w1.fi>
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    jmalinen committed with eyalsh Dec 18, 2011
  8. P2P: Fix disconnect event not to increase idle timeout

    When P2P client is processing a disconnection event, make sure the P2P
    idle timeout does not get increased, i.e., set a new timeout only if no
    timeout is in use. wpa_state changes between DISCONNECTED and SCANNING
    can generate multiple calls to wpas_p2p_notif_disconnect() and
    previously this was enough to force the idle timeout never hit in
    practice when in P2P client role.
    
    Signed-hostap: Jouni Malinen <j@w1.fi>
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    jmalinen committed with eyalsh Dec 18, 2011
  9. Use normal scan on first scan after init

    Avoid using sched scan as the initial scan after wpa_s
    init. This prevents a scenario on Android in which
    the Android framework scan is preempted by a saved scan_ssid AP
    being connected to due to immediate sched scan.
    This delays receiving scan results.
    eyalsh committed Feb 20, 2012
  10. Prevent roaming to a different ESS while connected

    While connected to a certain ESS prevent roaming to a different
    ESS AP even if its signal is better. This prevents an undesired
    switch between networks in this example scenario:
    2 network profiles configured Net1 and Net2. We're already associated
    to an AP on the ESS Net1 and while walking with the device we get close
    to an AP from ESS Net2. Before this change a decision to switch to
    Net2 was made.
    eyalsh committed Feb 19, 2012
  11. P2P: Add p2p_cli deinit op

    On p2p group removal, the GO is deinitialized correctly
    (and the vif mode is set back to sta), but the P2P_CLI
    isn't deinitialized, and the vif stays in P2P_CLI mode.
    
    Add a new deinit_p2p_cli op (similar to deinit_ap), which
    currently only sets the interface back to sta mode.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed with eyalsh Feb 16, 2012
  12. Ignore a deauth from a different BSS than the current one

    This fixes an issue with roaming where the previous
    BSS would send a DEAUTH during the roaming and this
    would caused the supplicant to disconnect.
    eyalsh committed Feb 16, 2012
  13. Update current_bss when BSS record is realloced

    This is a bug in wpa_s which didn't have any noticable
    side effect. wpa_s->current_bss points to a BSS record
    which may be realloced so the current_bss pointer will
    get invalid.
    elp committed with eyalsh Feb 26, 2012