Hi, > If I keep repeating scanning for like 4 times in the raw, the mac80211 > can disassociated because No ProbeResp. > looking at the rx patch if we are scanning we wont pass > ieee80211_rx_h_passive_scan which only will deliver > beacon and probe request, which what we want, except that we only update > last_rx in the function > ieee80211_rx_h_sta_process which is two functions down rx handlers. > In iwlwifi we do perform hw scan, in this command if scan takes a long > time, and we are associated, it will tunes to associated channel to > allow getting beacons for a period of time, then continue with scanning. > we do receive beacons on the associated > channel but mac80211 never update last_rx causing the disassociation. Interesting. If the scan takes such a long time, what do you do when there are actually data frames coming in during the time you listen on the associated channel? I think you'd have to buffer them because they also would be dropped by ieee80211_rx_h_passive_scan... > I wonder if we can move ieee80211_rx_h_sta_process before > ieee80211_rx_h_passive_scan or at least the rx_last > update part. I guess we could, the intention of the check is probably to find going out of range or such rather than disassociating when you've missed too much traffic :) Michael, you gave scanning and background scanning much more thought, I can see the problem here but not the solution. Shouldn't we be doing this back-tuning in mac80211 too then? johannes
Attachment:
signature.asc
Description: This is a digitally signed message part