#848: Beacon misses cause client to reassociate
----------------------------------------+-----------------------------------
      Reporter:  [EMAIL PROTECTED]        |       Owner:     
          Type:  defect                 |      Status:  new
      Priority:  major                  |   Milestone:     
     Component:  madwifi: 802.11 stack  |     Version:     
    Resolution:                         |    Keywords:     
Patch_attached:  0                      |  
----------------------------------------+-----------------------------------
Comment (by [EMAIL PROTECTED]):

 Beacon disconnects have been problematic for us ( Pepper ) too.  We're
 currently running MADWiFi 0.9.1 on the Pepper Pad 3 with a bunch of
 patches.

 We're using wpa_supplicant (v0.4.7) which puts the driver into manual
 roaming mode.  When a beacon disconnect is processed in manual roaming
 mode, the driver is put into ''SCAN'' state, which causes a disconnect.
 We then have to direct wpa_supplicant to re-associate.  In auto-roaming
 mode ( the default mode ), the driver re-associates directly.   See
 ''ieee80211_beacon_miss()'' in ieee80211_proto.c.

 There are two seemingly redundant sources of calls to
 ''ieee80211_beacon_miss()''.  The first is a software timer in the
 net80211 layer.  Look for code that references  ''vap->iv_swbmiss''.  The
 second source is the HAL itself.  The '''ath_pci''' module configures the
 beacon miss interrupts based upon values received ( eg. beacon interval,
 dtim period ) in beacon frames.  The code clamps the beacon miss threshold
 to a value between 1 and 10!!!  Way too low in my opinion.

 We're running with two patches to the beacon miss code:

 1. I removed the code that initializes the software beacon miss timer.

 2. I modified the '''ath_pci''' module to take two parameters,
 ''bmiss_thresh'' and ''beacon_sleep''.  These are used to override the
 similarly named fields passed to the HAL via the
 ''ath_hal_beacontimers()'' call.  We're currently running with the beacon
 miss threashold set to 150.  That seems to make us pretty immune to beacon
 disconnects, however it's still not perfect.

 If there's interest, I can post our patch for (2).

 Disabling beacon interrupts altogether isn't a good idea ( we tried it )
 since signal quality is calculated from incoming beacons when there's no
 data traffic.  Signal quality drops continually until the point at which
 no more beacons are being received, at this point it stays at the
 last/lowest calculated signal quality... ( ie. 4 or 5 ).  Our system has a
 signal quality process that monitors signal strength and will cause a
 disconnect to happen if the signal quality drops to 0 and stays there for
 a certain time period.  So, it's a catch-22.  Disabling beacon miss
 interrupts gets rid of the disconnects/re-associations, however it
 prevents the signal strength from ever reaching 0.

 One other thought...  in conjunction with the bmiss_thresh patch, I may
 try to modify the ''beacon_miss()'' function to cause a reassociation just
 like when in auto-roaming mode.

-- 
Ticket URL: <http://madwifi.org/ticket/848>
MadWifi <http://madwifi.org/>
Multiband Atheros Driver for Wireless Fidelity
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Madwifi-tickets mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/madwifi-tickets

Reply via email to