11 Jul, 2007

1 commit

  • Victor Porton reported that the SoftMAC layer had random problem when setting the ESSID :
    http://bugzilla.kernel.org/show_bug.cgi?id=8686 After investigation, it turned out to be
    worse, the SoftMAC layer is left in an inconsistent state. The fix is pretty trivial.

    Signed-off-by: Jean Tourrilhes
    Acked-by: Michael Buesch
    Acked-by: Larry Finger
    Signed-off-by: John W. Linville

    Jean Tourrilhes
     

09 Jul, 2007

1 commit


29 May, 2007

1 commit


18 Feb, 2007

1 commit


15 Feb, 2007

1 commit

  • There is a bug in ieee80211softmac that always sets the user rate
    to 11Mbs, no matter the capabilities of the device. This bug was
    probably beneficial as long as the bcm43xx cards were rate limited;
    however, most are now capable of relatively high speeds. This patch
    fixes that bug and eliminates an assert that is no longer needed.

    Once the cards are capable of full OFDM speeds, the 24 Mbs rate will
    be changed to 54 Mbs.

    Signed-off-by: Larry Finger
    Signed-off-by: John W. Linville

    Larry Finger
     

11 Feb, 2007

1 commit


06 Feb, 2007

1 commit

  • Unconfigured bcm43xx device can hit an assert() during wx_get_rate
    queries. This is because bcm43xx calls ieee80211softmac_start late
    (i.e. during open instead of probe).

    bcm43xx_net_open ->
    bcm43xx_init_board ->
    bcm43xx_select_wireless_core ->
    ieee80211softmac_start

    Fix is to check that device is running before completing
    ieee80211softmac_wx_get_rate.

    Signed-off-by: John W. Linville

    John W. Linville
     

20 Dec, 2006

2 commits

  • ieee80211softmac_wx_get_genie locks the associnfo mutex at
    function exit. This patch fixes it. The patch is against Linus'
    tree (commit af1713e0).

    Signed-off-by: Ulrich Kunitz
    Signed-off-by: Michael Buesch
    Acked-by: Johannes Berg
    Signed-off-by: Larry Finger
    Signed-off-by: Andrew Morton
    Signed-off-by: John W. Linville

    Ulrich Kunitz
     
  • The signature of work functions changed recently from a context
    pointer to the work structure pointer. This caused a problem in
    the ieee80211softmac code, because the ieee80211softmac_assox_work
    function has been called directly with a parameter explicitly
    casted to (void*). This compiled correctly but resulted in a
    softlock, because mutex_lock was called with the wrong memory
    address. The patch fixes the problem. Another issue was a wrong
    call of the schedule_work function. Softmac works again and this
    fixes the problem I mentioned earlier in the zd1211rw rx tasklet
    patch. The patch is against Linus' tree (commit af1713e0).

    Signed-off-by: Ulrich Kunitz
    Acked-by: Michael Buesch
    Signed-off-by: Larry Finger
    Signed-off-by: Andrew Morton
    Signed-off-by: John W. Linville

    Ulrich Kunitz
     

11 Dec, 2006

1 commit


07 Dec, 2006

1 commit


06 Dec, 2006

2 commits


05 Dec, 2006

1 commit


02 Dec, 2006

3 commits


29 Nov, 2006

1 commit

  • In the scan section of ieee80211softmac, network transmits are
    disabled. When SoftMAC re-enables transmits, it may override the
    wishes of a driver that may have very good reasons for disabling
    transmits. At least one failure in bcm43xx can be traced to this
    problem. In addition, several unexplained problems may arise from
    the unexpected enabling of transmits. Note that making this change
    introduces a new bug that would allow transmits for the current session
    to be transmitted on the wrong channel; however, the new bug is much
    less severe than the one being fixed, as the new one only leads to
    a few retransmits, whereas the old one can bring the interface down.

    A fix that will not introduce new bugs is being investigated; however,
    the current, more serious one should be fixed now.

    Signed-off-by: Michael Buesch
    Signed-off-by: Larry Finger
    Signed-off-by: John W. Linville

    Michael Buesch
     

22 Nov, 2006

1 commit


17 Oct, 2006

2 commits


26 Sep, 2006

1 commit


28 Jul, 2006

3 commits

  • zd1211 needs this functionality, no point duplicating it.

    Signed-off-by: Daniel Drake
    Acked-by: Johannes Berg
    Signed-off-by: John W. Linville

    Daniel Drake
     
  • This patch implements ERP handling in softmac so that the drivers can support
    protection and preambles properly.

    I added a new struct, ieee80211softmac_bss_info, which is used for
    BSS-dependent variables like these.

    A new hook has been added (bssinfo_change), which allows the drivers to be
    notified when anything in bssinfo changes.

    I modified the txrates_change API to match the bssinfo_change API. The
    existing one is a little messy and the usefulness of providing the old rates
    is questionable (and can be implemented at driver level if really necessary).
    No drivers are using this API (yet), so this should be safe.

    Signed-off-by: Daniel Drake
    Acked-by: Johannes Berg
    Signed-off-by: John W. Linville

    Daniel Drake
     
  • Johann Uhrmann reported a bcm43xx crash and Michael Buesch tracked
    it down to a problem with the new shared key auth code (recursive
    calls into the driver)

    This patch (effectively Michael's patch with a couple of small
    modifications) solves the problem by sending the authentication
    challenge response frame from a workqueue entry.

    I also removed a lone \n from the bcm43xx messages relating to
    authentication mode - this small change was previously discussed but
    not patched in.

    Signed-off-by: Daniel Drake
    Acked-by: Johannes Berg
    Signed-off-by: Michael Buesch
    Signed-off-by: John W. Linville

    Daniel Drake
     

22 Jul, 2006

1 commit


06 Jul, 2006

4 commits

  • Signed-off-by: John W. Linville

    John W. Linville
     
  • The ieee80211softmac_call_events function, when called with event type
    IEEE80211SOFTMAC_EVENT_ASSOCIATE_TIMEOUT should pass the network as the
    third parameter. This patch does that.

    Signed-off-by: Joseph Jezak
    Signed-off-by: John W. Linville

    Joseph Jezak
     
  • This patch addresses the "No queue exists" messages commonly seen during
    authentication and associating. These appear due to scheduling multiple
    authentication attempts on the same network. To prevent this, I added a
    flag to stop multiple authentication attempts by the association layer.
    I also added a check to the wx handler to see if we're connecting to a
    different network than the one already in progress. This scenario was
    causing multiple requests on the same network because the network BSSID
    was not being updated despite the fact that the ESSID changed.

    Signed-off-by: Joseph Jezak
    Signed-off-by: John W. Linville

    Joseph Jezak
     
  • In commit ba9b28d19a3251bb1dfe6a6f8cc89b96fb85f683, routine
    ieee80211softmac_capabilities was added to ieee80211softmac_io.c. As
    denoted by its name, it completes the capabilities IE that is
    needed in the associate and reassociate requests sent to the
    AP. For at least one AP, the Linksys WRT54G V5, the capabilities
    field must set the 'short preamble' bit or the AP refuses to
    associate. In the commit noted above, there is a call to the
    new routine from ieee80211softmac_reassoc_req, but not from
    ieee80211softmac_assoc_req. This patch fixes that oversight.

    As noted in the subject, v2.6.17 is affected. My bcm43xx card had been
    unable to associate since I was forced to buy a new AP. I finally was
    able to get a packet dump and traced the problem to the capabilities
    info. Although I had heard that a patch was "floating around", I had
    not seen it before 2.6.17 was released. As this bug does not affect
    security and I seem to have the only AP affected by it, there should
    be no problem in leaving it for 2.6.18.

    Signed-Off-By: Larry Finger
    Signed-off-by: John W. Linville

    Larry Finger
     

16 Jun, 2006

1 commit

  • In net/ieee80211/softmac/ieee80211softmac_wx.c, there is a bug that
    prints extended sign information whenever the byte value exceeds
    0x7f. The following patch changes the printk to use a u8 cast to limit
    the output to 2 digits. This bug was first noticed by Dan Williams
    . This patch applies to the current master branch
    of the Linville tree.

    Signed-Off-By: Larry Finger
    Signed-off-by: John W. Linville

    Larry Finger
     

06 Jun, 2006

4 commits

  • This patch moves the capabilities field computation to a function for clarity
    and adds some previously unimplemented bits.

    Signed off by Joseph Jezak
    Signed-off-by: Daniel Drake
    Acked-By: Johannes Berg
    Signed-off-by: John W. Linville

    Joseph Jezak
     
  • My router blew up earlier, but exhibited some interesting behaviour during
    its dying moments. It was broadcasting beacons but wouldn't respond to
    any authentication requests.

    I noticed that softmac wasn't playing nice with this, as I couldn't make it try
    to connect to other networks after it had timed out authenticating to my ill
    router.

    To resolve this, I modified the softmac event/notify API to pass the event
    code to the callback, so that callbacks being notified from
    IEEE80211SOFTMAC_EVENT_ANY masks can make some judgement. In this case, the
    ieee80211softmac_assoc callback needs to make a decision based upon whether
    the association passed or failed.

    Signed-off-by: Daniel Drake
    Acked-by: Johannes Berg
    Signed-off-by: John W. Linville

    Daniel Drake
     
  • This patch finishes of the partially-complete shared key authentication
    implementation in softmac.

    The complication here is that we need to encrypt a management frame during
    the authentication process. I don't think there are any other scenarios where
    this would have to happen.

    To get around this without causing too many headaches, we decided to just use
    software encryption for this frame. The softmac config option now selects
    IEEE80211_CRYPT_WEP so that we can ensure this available. This also involved
    a modification to some otherwise unused ieee80211 API.

    Signed-off-by: Daniel Drake
    Acked-by: Johannes Berg
    Signed-off-by: John W. Linville

    Daniel Drake
     
  • Got this compiler warning and Johannes Berg
    wrote:

    Yeah, known 'bug', we have that code there but never use it. Feel free
    to submit a patch (to John Linville, CC netdev and softmac-dev) to
    remove it.

    Signed-off-by: Toralf Foerster
    Signed-off-by: John W. Linville

    Toralf Förster
     

06 May, 2006

5 commits

  • This patch is the first step towards rate control inside softmac.

    The txrates substructure has been extended to provide
    different fields for different types of packets (management/data,
    unicast/multicast). These fields are updated on association to values
    compatible with the access point we are associating to.

    Drivers can then use the new ieee80211softmac_suggest_txrate() function
    call when deciding which rate to transmit each frame at. This is
    immensely useful for ZD1211, and bcm can use it too.

    The user can still specify a rate through iwconfig, which is matched
    for all transmissions (assuming the rate they have specified is in
    the rate set required by the AP).

    At a later date, we can incorporate automatic rate management into
    the ieee80211softmac_recalc_txrates() function.

    This patch also removes the mcast_fallback field. Sam Leffler pointed
    out that this field is meaningless, because no driver will ever be
    retransmitting mcast frames (they are not acked).

    Signed-off-by: Daniel Drake
    Acked-by: Johannes Berg
    Signed-off-by: John W. Linville

    Daniel Drake
     
  • The 802.11 specs state that deauthenticating also implies
    disassociating. This patch implements that, which improve the behaviour
    of SIOCSIWMLME.

    Signed-off-by: Daniel Drake
    Acked-by: Johannes Berg
    Signed-off-by: John W. Linville

    Daniel Drake
     
  • John W. Linville
     
  • zd1211 with softmac and wpa_supplicant revealed an issue with softmac
    and the use of workqueues. Some of the work functions actually
    reschedule themselves, so this meant that there could still be
    pending work after flush_scheduled_work() had been called during
    ieee80211softmac_stop().

    This patch introduces a "running" flag which is used to ensure that
    rescheduling does not happen in this situation.

    I also used this flag to ensure that softmac's hooks into ieee80211 are
    non-operational once the stop operation has been started. This simply
    makes softmac a little more robust, because I could crash it easily
    by receiving frames in the short timeframe after shutting down softmac
    and before turning off the ZD1211 radio. (ZD1211 is now fixed as well!)

    Signed-off-by: Daniel Drake
    Acked-by: Johannes Berg
    Signed-off-by: John W. Linville

    Daniel Drake
     
  • When wpa_supplicant exits, it uses SIOCSIWMLME to request
    deauthentication. softmac then tries to reassociate without any user
    intervention, which isn't the desired behaviour of this signal.

    This change makes softmac only attempt reassociation if the remote
    network itself deauthenticated us.

    Signed-off-by: Daniel Drake
    Acked-by: Johannes Berg
    Signed-off-by: John W. Linville

    Daniel Drake