Search Linux Wireless

Re: Problem with IEEE80211_MONITORING_INTERVAL

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2009-04-16 at 09:14 +0300, Kalle Valo wrote:

> Basically the problem is that if you scan in an area where there are no
> or very few APs and scan takes more than two seconds (like abg band
> scans usually take), sta->last_rx won't get updated because mac80211 is
> not receiving any frames. This is why the beacon loss check will trigger
> in ieee80211_associated().
> 
> The problem won't happen if there are lot of APs in the neighbourhood
> distributed throughout the channels because then sta->last_rx is updated
> often enough and the beacon loss check won't trigger.

That doesn't make sense, why would our AP sta->last_rx be updated for
other APs? I think you mean sdata->u.mgd.last_beacon, which is, probably
wrongly, updated for all beacons.

> I have been thinking two ways to fix this, either disabling the timer
> for the duration of the scan or add a check for scan scan in
> ieee80211_associated(). I started implementing the former but haven't
> finished it yet. It would be great if someone else can fix it.

But that doesn't make sense to me now. ieee80211_associated() is only
run from the station work (ieee80211_sta_work) which doesn't do anything
when we're scanning (and gets restarted on scan end). So even if last_rx
or last_beacon isn't updated we should only run the evaluation of that
after the scan finishes.

I'll try to reproduce this.

johannes

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux