adrian
f898f86360
First cut at attempting to buffer frames until we see a beacon.
...
The iwn(4) firmware forgets most of its channel state after an RXON
command. This means that any beacons its seen on passive 5GHz channels
are forgotten upon an association/authorisation request.
This unfortuantely means that 5GHz association almost always fails -
the assoc and/or auth frames are dropped with a status of "passive
channel, haven't seen a beacon yet." (0x90.)
So:
* add an xmit queue, global, to buffer frames
* modify the xmit path to use the mbuf tag from net80211
to specify raw frame details
* buffer xmit frames from both raw and non-raw paths
* if a beacon is seen in the RX path, schedule a taskqueue to
send said frames and un-buffer things.
* flush frames during state change back to INIT, or NIC
down/up/detach.
This isn't the final shape I'd like this to be in but it certainly
is better than 5GHz "not working at all".
Tested:
* Intel 5100, STA mode (before spilling coffee)
* Intel 5300, STA mode (after spilling coffee)
Story:
* This has been bugging me at work for months, which I just
worked around by throwing an ath(4) into my Lenovo T400 cardbus
slot.
* Our ops director discovered indeed FreeBSD runs well on the
Lenovo T420p, except for that pesky 5GHz thing. So now developers
also can have a T420p running FreeBSD to do work with.
Their #1 feedback to me - "boy it'd be nice if 5GHz wifi worked."
* .. then, I was at NANOG but stuck with 5GHz only wifi and no ath(4)
NIC to put in a laptop - and I snapped.
Thus, the reason this is actually work related.
MFC after: 2 weeks
Sponsored by: Norse Corp, Inc.
2015-06-19 01:44:17 +00:00
..
2015-03-22 16:10:28 +00:00
2015-03-22 16:10:28 +00:00
2015-06-13 22:29:43 +00:00
2015-06-11 15:45:33 +00:00
2015-03-22 16:10:28 +00:00
2014-09-19 03:51:26 +00:00
2014-09-18 21:01:41 +00:00
2015-01-23 15:14:30 +00:00
2015-03-22 16:10:28 +00:00
2015-03-22 16:10:28 +00:00
2015-06-02 23:11:12 +00:00
2014-11-21 21:01:24 +00:00
2015-06-05 11:37:54 +00:00
2015-01-30 01:13:07 +00:00
2014-10-08 01:03:32 +00:00
2014-09-23 06:31:15 +00:00
2015-05-22 17:05:21 +00:00
2014-09-23 06:31:15 +00:00
2014-09-23 05:54:18 +00:00
2014-10-13 13:13:42 +00:00
2015-03-22 16:10:28 +00:00
2015-01-06 12:59:37 +00:00
2014-11-21 21:01:24 +00:00
2014-10-28 12:00:39 +00:00
2015-03-24 18:09:07 +00:00
2015-05-29 14:35:16 +00:00
2015-06-19 00:10:30 +00:00
2015-02-24 01:00:46 +00:00
2015-01-05 16:43:22 +00:00
2014-09-18 21:03:13 +00:00
2015-03-08 19:55:46 +00:00
2014-09-18 21:05:59 +00:00
2015-03-22 16:10:28 +00:00
2015-05-28 08:00:11 +00:00
2015-05-25 19:53:29 +00:00
2015-06-16 21:11:32 +00:00
2015-03-09 22:39:58 +00:00
2015-02-18 05:53:04 +00:00
2014-09-18 20:53:02 +00:00
2015-05-22 17:05:21 +00:00
2014-10-17 17:34:05 +00:00
2014-10-16 18:04:43 +00:00
2015-04-02 23:12:18 +00:00
2015-01-06 12:59:37 +00:00
2015-05-22 17:05:21 +00:00
2014-12-20 16:40:49 +00:00
2015-01-06 12:59:37 +00:00
2015-03-22 16:10:28 +00:00
2015-05-22 17:05:21 +00:00
2015-05-22 17:05:21 +00:00
2015-05-22 17:05:21 +00:00
2015-06-16 12:36:29 +00:00
2015-01-23 15:14:30 +00:00
2015-05-22 17:05:21 +00:00
2014-09-19 03:51:26 +00:00
2014-10-10 19:12:04 +00:00
2015-03-22 16:10:28 +00:00
2015-06-04 20:36:16 +00:00
2015-06-15 13:43:23 +00:00
2015-06-03 15:18:32 +00:00
2015-06-03 18:01:09 +00:00
2015-03-01 21:41:33 +00:00
2015-01-05 09:58:32 +00:00
2014-09-18 20:11:28 +00:00
2014-09-24 11:23:55 +00:00
2015-04-18 07:34:39 +00:00
2015-01-06 12:59:37 +00:00
2015-01-05 09:58:32 +00:00
2015-03-07 20:45:15 +00:00
2014-09-25 20:40:24 +00:00
2015-05-24 23:53:10 +00:00
2015-02-03 18:59:52 +00:00
2014-11-24 16:12:11 +00:00
2015-06-16 23:03:15 +00:00
2015-01-21 20:08:24 +00:00
2015-03-03 02:08:17 +00:00
2014-12-24 03:49:33 +00:00
2014-09-18 20:21:46 +00:00
2014-11-21 21:01:24 +00:00
2015-05-22 17:05:21 +00:00
2015-05-24 07:45:42 +00:00
2015-05-22 17:05:21 +00:00
2014-10-21 07:31:21 +00:00
2015-05-22 17:05:21 +00:00
2014-09-18 21:07:05 +00:00
2014-11-21 21:01:24 +00:00
2015-04-11 00:45:03 +00:00
2014-11-21 21:01:24 +00:00
2015-06-10 12:42:30 +00:00
2015-05-22 17:05:21 +00:00
2015-02-17 05:07:38 +00:00
2015-05-30 12:17:18 +00:00
2015-06-10 22:39:10 +00:00
2014-11-26 04:23:21 +00:00
2015-03-22 16:10:28 +00:00
2015-01-06 12:59:37 +00:00
2015-05-25 19:53:29 +00:00
2015-05-10 02:19:27 +00:00
2015-03-22 16:10:28 +00:00
2014-09-23 06:31:15 +00:00
2015-04-24 16:56:23 +00:00
2014-11-13 22:06:57 +00:00
2015-05-25 18:50:26 +00:00
2015-05-22 17:05:21 +00:00
2015-05-15 13:36:50 +00:00
2015-03-14 22:32:15 +00:00
2015-06-18 07:50:27 +00:00
2015-06-02 22:45:28 +00:00
2015-06-19 01:44:17 +00:00
2014-09-28 07:40:26 +00:00
2015-06-01 20:05:06 +00:00
2015-06-05 22:52:42 +00:00
2014-09-24 11:33:43 +00:00
2014-11-22 20:31:20 +00:00
2015-04-29 20:08:03 +00:00
2015-01-06 12:59:37 +00:00
2015-05-24 07:45:42 +00:00
2014-09-19 03:51:26 +00:00
2015-02-17 05:10:41 +00:00
2015-05-25 19:53:29 +00:00
2014-10-10 14:17:42 +00:00
2014-11-18 21:51:01 +00:00
2015-01-24 12:51:15 +00:00
2015-06-09 15:51:11 +00:00
2014-09-19 03:51:26 +00:00
2015-06-18 14:13:16 +00:00
2015-03-22 16:10:28 +00:00
2015-03-22 16:10:28 +00:00
2015-05-29 20:50:41 +00:00
2015-01-06 12:59:37 +00:00
2015-05-28 18:24:22 +00:00
2015-03-06 16:17:08 +00:00
2014-11-23 21:37:33 +00:00
2015-05-06 10:46:28 +00:00
2014-10-11 19:36:59 +00:00
2014-10-13 06:51:40 +00:00
2015-03-23 19:47:52 +00:00
2015-05-25 19:53:29 +00:00
2015-04-22 14:38:58 +00:00
2015-01-06 12:59:37 +00:00
2015-06-06 16:38:40 +00:00
2014-09-25 18:43:52 +00:00
2014-11-20 20:50:05 +00:00
2014-09-19 03:51:26 +00:00
2015-06-03 18:01:09 +00:00
2014-10-16 18:04:43 +00:00
2014-09-23 05:54:18 +00:00
2015-01-12 07:43:19 +00:00
2014-11-20 20:50:05 +00:00
2015-05-22 17:05:21 +00:00
2014-11-11 04:48:09 +00:00
2015-04-09 00:37:55 +00:00
2014-10-17 17:34:05 +00:00
2015-05-22 17:05:21 +00:00
2015-05-22 17:05:21 +00:00
2015-05-24 23:53:10 +00:00
2015-05-22 17:05:21 +00:00
2014-12-03 00:47:05 +00:00
2015-05-05 04:23:55 +00:00
2015-06-12 13:54:25 +00:00
2015-01-06 12:59:37 +00:00
2015-01-06 12:59:37 +00:00
2014-09-19 03:51:26 +00:00
2015-06-12 12:27:10 +00:00
2015-05-24 11:08:06 +00:00
2014-11-18 21:58:57 +00:00
2015-01-02 22:45:55 +00:00
2015-05-22 17:05:21 +00:00
2015-05-22 17:05:21 +00:00
2015-05-22 17:05:21 +00:00
2015-05-25 19:53:29 +00:00
2015-02-18 08:21:51 +00:00
2015-04-09 21:35:44 +00:00
2014-09-19 10:33:23 +00:00
2015-05-22 17:05:21 +00:00
2014-11-11 18:15:05 +00:00
2014-10-21 07:31:21 +00:00
2015-05-22 17:05:21 +00:00
2015-01-06 12:59:37 +00:00
2014-11-18 22:02:37 +00:00
2015-05-21 20:09:36 +00:00
2014-09-19 03:55:19 +00:00
2015-05-29 05:44:56 +00:00
2014-09-19 03:51:26 +00:00
2015-03-23 19:47:52 +00:00
2015-01-12 07:37:06 +00:00
2014-10-13 06:51:40 +00:00
2015-04-25 16:15:01 +00:00
2015-02-13 11:13:08 +00:00
2015-01-06 12:59:37 +00:00
2015-01-06 12:59:37 +00:00
2015-05-22 17:05:21 +00:00
2015-02-18 14:33:33 +00:00
2014-09-19 03:51:26 +00:00
2014-11-20 20:50:05 +00:00
2014-09-18 21:16:05 +00:00
2015-04-11 15:40:28 +00:00
2014-11-21 21:01:24 +00:00
2015-01-27 17:33:18 +00:00
2014-11-21 21:34:19 +00:00
2015-01-06 12:59:37 +00:00
2015-01-06 12:59:37 +00:00
2015-03-22 16:10:28 +00:00
2014-09-19 03:51:26 +00:00
2015-05-22 17:05:21 +00:00
2015-03-22 16:10:28 +00:00
2015-05-22 17:05:21 +00:00
2014-09-18 20:06:10 +00:00
2014-09-24 11:58:23 +00:00
2015-05-30 16:30:51 +00:00
2015-05-22 17:05:21 +00:00
2015-06-11 15:23:47 +00:00
2014-09-18 20:30:47 +00:00
2014-09-23 06:31:15 +00:00
2015-06-18 00:22:14 +00:00
2015-06-18 10:33:04 +00:00
2014-12-01 11:45:24 +00:00
2014-09-18 20:17:27 +00:00
2015-05-10 17:11:04 +00:00
2014-09-24 11:31:46 +00:00
2015-01-06 12:59:37 +00:00
2014-12-01 11:45:24 +00:00
2015-05-22 17:05:21 +00:00
2015-01-06 12:59:37 +00:00
2015-03-14 13:02:08 +00:00
2014-11-18 22:12:51 +00:00
2015-05-25 19:53:29 +00:00
2014-11-20 20:09:18 +00:00
2015-05-25 19:53:29 +00:00
2015-05-25 19:53:29 +00:00
2015-01-06 12:59:37 +00:00
2015-06-12 07:50:34 +00:00
2014-09-18 20:35:22 +00:00