Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 30 Nov 2013 13:53:50 -0800
From:      Adrian Chadd <adrian@freebsd.org>
To:        "freebsd-wireless@freebsd.org" <freebsd-wireless@freebsd.org>
Subject:   [iwn] scan fixes!
Message-ID:  <CAJ-VmokichutcLwakRwVQRzq=PeEUYCgbYqFP8Yr9KUydYK6eA@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hi!

Here's a bunch of scan fixes:

http://people.freebsd.org/~adrian/iwn/20131130-iwn-scan-fixes-1.diff

There's a few things in here:

* Add extra code to verify A-MPDU TX sequence numbers make sense;
* Fetch the flags TLV from the firmware if it provides it;
* CRC threshold changes for the later NICs (apparently to prevent
firmware crashes? Who knows!);
* Track if a scan command is in flight and if so, don't issue another
RXON or SCAN until it's finished or we reset the NIC;
* Lots of changes to the scan command values - set
passive/active/dwell correctly, set a maximum dwell time.

It turns out that we were doing a lot of very bad things in the scan
command and if you squinted at the firmware incorrectly, it could just
plain never return from a scan on a passive channel.

I've tested this on my 5100 and the scan stability has improved. The
main issue I see here now is the net80211 related scan issue, not the
driver scan issue. There's one driver issue I think still exists -
where the session disassociates during an active scan. I'm not yet
sure why this.

There are some other things to fix - I'll post patches to that once
I've committed this scan stuff. Specifically - iwlwifi on Linux does a
single-channel scan (to a different frequency band to the active one)
occasionally to reset/retune the radio. I'll look into this later.

Thanks!


-adrian



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmokichutcLwakRwVQRzq=PeEUYCgbYqFP8Yr9KUydYK6eA>