Switch to add_channel / add_channel_ht40 + pass channel's TX power for the last.
Details
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Get this tested first (email freebsd-wireless) and then I'll okay it when others have tested it.
(I'll try to test this, otus and iwm tonight)
Applied (via "svn patch") on top of:
FreeBSD g1-252.catwhisker.org 11.0-CURRENT FreeBSD 11.0-CURRENT #405 r298876M/298876:1100106: Sun May 1 05:15:48 PDT 2016 root@g1-252.catwhisker.org:/common/S4/obj/usr/src/sys/CANARY amd64
successfully.
Seems (so far) to behave as it did pre-patch, at least at home. (In both cases, wpa_supplicant started, the link came up, dhclient started, the link went down; dhclient kept trying, though the link never came back up automagically: after dhclient finally timed out, I logged in as root on ttyv1, issued "service netif restart wlan0" and the link came up OK, and dhclient behaved itself. This behavior has tended to be a bit more common (under head) than the link "just working" (as is normal in stable/10).)
I'll try the patched kernel at work tomorrow (where authentication is required, and tends to be rather problematic at times).
david - can you post 'ifconfig -v wlan0 list chan' with the patch? I'll compare it to what I see and if it's the same, I'll approve it. :)
I was going to just upload the typescripts for the "ifconfig -v wlan0 list chan," but I don't see how to "To add files, drag and drop them into the comment text area." -- it makes no sense.
So I'll copy/paste, as a poor substitute.
First, running from a slice without the above patch:
`Script started on Sun May 1 12:27:03 2016
Command: uname -a
FreeBSD g1-252.catwhisker.org 11.0-CURRENT FreeBSD 11.0-CURRENT #405 r298876M/298876:1100106: Sun May 1 05:15:48 PDT 2016 root@g1-252.catwhisker.org:/common/S4/obj/usr/src/sys/CANARY amd64
Command exit status: 0
Script done on Sun May 1 12:27:03 2016
Script started on Sun May 1 12:27:12 2016
Command: ifconfig -v wlan0 list chan
Channel 1 : 2412 MHz 11b Channel 48 : 5240* MHz 11a
Channel 1 : 2412 MHz 11g Channel 48 : 5240* MHz 11a ht/20
Channel 1 : 2412 MHz 11g ht/20 Channel 48 : 5240* MHz 11a ht/40-
Channel 1 : 2412 MHz 11g ht/40+ Channel 52 : 5260*D MHz 11a
Channel 2 : 2417 MHz 11b Channel 52 : 5260*D MHz 11a ht/20
Channel 2 : 2417 MHz 11g Channel 52 : 5260*D MHz 11a ht/40+
Channel 2 : 2417 MHz 11g ht/20 Channel 56 : 5280*D MHz 11a
Channel 2 : 2417 MHz 11g ht/40+ Channel 56 : 5280*D MHz 11a ht/20
Channel 3 : 2422 MHz 11b Channel 56 : 5280*D MHz 11a ht/40-
Channel 3 : 2422 MHz 11g Channel 60 : 5300*D MHz 11a
Channel 3 : 2422 MHz 11g ht/20 Channel 60 : 5300*D MHz 11a ht/20
Channel 3 : 2422 MHz 11g ht/40+ Channel 60 : 5300*D MHz 11a ht/40+
Channel 4 : 2427 MHz 11b Channel 64 : 5320*D MHz 11a
Channel 4 : 2427 MHz 11g Channel 64 : 5320*D MHz 11a ht/20
Channel 4 : 2427 MHz 11g ht/20 Channel 64 : 5320*D MHz 11a ht/40-
Channel 4 : 2427 MHz 11g ht/40+ Channel 100 : 5500*D MHz 11a
Channel 5 : 2432 MHz 11b Channel 100 : 5500*D MHz 11a ht/20
Channel 5 : 2432 MHz 11g Channel 100 : 5500*D MHz 11a ht/40+
Channel 5 : 2432 MHz 11g ht/20 Channel 104 : 5520*D MHz 11a
Channel 5 : 2432 MHz 11g ht/40+ Channel 104 : 5520*D MHz 11a ht/20
Channel 5 : 2432 MHz 11g ht/40- Channel 104 : 5520*D MHz 11a ht/40-
Channel 6 : 2437 MHz 11b Channel 108 : 5540*D MHz 11a
Channel 6 : 2437 MHz 11g Channel 108 : 5540*D MHz 11a ht/20
Channel 6 : 2437 MHz 11g ht/20 Channel 108 : 5540*D MHz 11a ht/40+
Channel 6 : 2437 MHz 11g ht/40+ Channel 112 : 5560*D MHz 11a
Channel 6 : 2437 MHz 11g ht/40- Channel 112 : 5560*D MHz 11a ht/20
Channel 7 : 2442 MHz 11b Channel 112 : 5560*D MHz 11a ht/40-
Channel 7 : 2442 MHz 11g Channel 116 : 5580*D MHz 11a
Channel 7 : 2442 MHz 11g ht/20 Channel 116 : 5580*D MHz 11a ht/20
Channel 7 : 2442 MHz 11g ht/40+ Channel 116 : 5580*D MHz 11a ht/40+
Channel 7 : 2442 MHz 11g ht/40- Channel 120 : 5600*D MHz 11a
Channel 8 : 2447 MHz 11b Channel 120 : 5600*D MHz 11a ht/20
Channel 8 : 2447 MHz 11g Channel 120 : 5600*D MHz 11a ht/40-
Channel 8 : 2447 MHz 11g ht/20 Channel 124 : 5620*D MHz 11a
Channel 8 : 2447 MHz 11g ht/40- Channel 124 : 5620*D MHz 11a ht/20
Channel 9 : 2452 MHz 11b Channel 124 : 5620*D MHz 11a ht/40+
Channel 9 : 2452 MHz 11g Channel 128 : 5640*D MHz 11a
Channel 9 : 2452 MHz 11g ht/20 Channel 128 : 5640*D MHz 11a ht/20
Channel 9 : 2452 MHz 11g ht/40- Channel 128 : 5640*D MHz 11a ht/40-
Channel 10 : 2457 MHz 11b Channel 132 : 5660*D MHz 11a
Channel 10 : 2457 MHz 11g Channel 132 : 5660*D MHz 11a ht/20
Channel 10 : 2457 MHz 11g ht/20 Channel 132 : 5660*D MHz 11a ht/40+
Channel 10 : 2457 MHz 11g ht/40- Channel 136 : 5680*D MHz 11a
Channel 11 : 2462 MHz 11b Channel 136 : 5680*D MHz 11a ht/20
Channel 11 : 2462 MHz 11g Channel 136 : 5680*D MHz 11a ht/40-
Channel 11 : 2462 MHz 11g ht/20 Channel 140 : 5700*D MHz 11a
Channel 11 : 2462 MHz 11g ht/40- Channel 140 : 5700*D MHz 11a ht/20
Channel 12 : 2467* MHz 11b Channel 149 : 5745* MHz 11a
Channel 12 : 2467* MHz 11g Channel 149 : 5745* MHz 11a ht/20
Channel 12 : 2467* MHz 11g ht/20 Channel 149 : 5745* MHz 11a ht/40+
Channel 13 : 2472* MHz 11b Channel 153 : 5765* MHz 11a
Channel 13 : 2472* MHz 11g Channel 153 : 5765* MHz 11a ht/20
Channel 13 : 2472* MHz 11g ht/20 Channel 153 : 5765* MHz 11a ht/40-
Channel 36 : 5180* MHz 11a Channel 157 : 5785* MHz 11a
Channel 36 : 5180* MHz 11a ht/20 Channel 157 : 5785* MHz 11a ht/20
Channel 36 : 5180* MHz 11a ht/40+ Channel 157 : 5785* MHz 11a ht/40+
Channel 40 : 5200* MHz 11a Channel 161 : 5805* MHz 11a
Channel 40 : 5200* MHz 11a ht/20 Channel 161 : 5805* MHz 11a ht/20
Channel 40 : 5200* MHz 11a ht/40- Channel 161 : 5805* MHz 11a ht/40-
Channel 44 : 5220* MHz 11a Channel 165 : 5825* MHz 11a
Channel 44 : 5220* MHz 11a ht/20 Channel 165 : 5825* MHz 11a ht/20
Channel 44 : 5220* MHz 11a ht/40+
Command exit status: 0
Script done on Sun May 1 12:27:12 2016
g1-252(11.0-C)[9] `
Then, from the slice where I applied the patch, rebuilt the kernel, and rebooted:
`Script started on Sun May 1 12:31:13 2016
Command: uname -a
FreeBSD g1-252.catwhisker.org 11.0-CURRENT FreeBSD 11.0-CURRENT #406 r298876M/298876:1100106: Sun May 1 09:53:41 PDT 2016 root@g1-252.catwhisker.org:/common/S3/obj/usr/src/sys/CANARY amd64
Command exit status: 0
Script done on Sun May 1 12:31:13 2016
Script started on Sun May 1 12:31:20 2016
Command: ifconfig -v wlan0 list chan
Channel 1 : 2412 MHz 11b Channel 48 : 5240* MHz 11a
Channel 1 : 2412 MHz 11g Channel 48 : 5240* MHz 11a ht/20
Channel 1 : 2412 MHz 11g ht/20 Channel 48 : 5240* MHz 11a ht/40-
Channel 1 : 2412 MHz 11g ht/40+ Channel 52 : 5260*D MHz 11a
Channel 2 : 2417 MHz 11b Channel 52 : 5260*D MHz 11a ht/20
Channel 2 : 2417 MHz 11g Channel 52 : 5260*D MHz 11a ht/40+
Channel 2 : 2417 MHz 11g ht/20 Channel 56 : 5280*D MHz 11a
Channel 2 : 2417 MHz 11g ht/40+ Channel 56 : 5280*D MHz 11a ht/20
Channel 3 : 2422 MHz 11b Channel 56 : 5280*D MHz 11a ht/40-
Channel 3 : 2422 MHz 11g Channel 60 : 5300*D MHz 11a
Channel 3 : 2422 MHz 11g ht/20 Channel 60 : 5300*D MHz 11a ht/20
Channel 3 : 2422 MHz 11g ht/40+ Channel 60 : 5300*D MHz 11a ht/40+
Channel 4 : 2427 MHz 11b Channel 64 : 5320*D MHz 11a
Channel 4 : 2427 MHz 11g Channel 64 : 5320*D MHz 11a ht/20
Channel 4 : 2427 MHz 11g ht/20 Channel 64 : 5320*D MHz 11a ht/40-
Channel 4 : 2427 MHz 11g ht/40+ Channel 100 : 5500*D MHz 11a
Channel 5 : 2432 MHz 11b Channel 100 : 5500*D MHz 11a ht/20
Channel 5 : 2432 MHz 11g Channel 100 : 5500*D MHz 11a ht/40+
Channel 5 : 2432 MHz 11g ht/20 Channel 104 : 5520*D MHz 11a
Channel 5 : 2432 MHz 11g ht/40+ Channel 104 : 5520*D MHz 11a ht/20
Channel 5 : 2432 MHz 11g ht/40- Channel 104 : 5520*D MHz 11a ht/40-
Channel 6 : 2437 MHz 11b Channel 108 : 5540*D MHz 11a
Channel 6 : 2437 MHz 11g Channel 108 : 5540*D MHz 11a ht/20
Channel 6 : 2437 MHz 11g ht/20 Channel 108 : 5540*D MHz 11a ht/40+
Channel 6 : 2437 MHz 11g ht/40+ Channel 112 : 5560*D MHz 11a
Channel 6 : 2437 MHz 11g ht/40- Channel 112 : 5560*D MHz 11a ht/20
Channel 7 : 2442 MHz 11b Channel 112 : 5560*D MHz 11a ht/40-
Channel 7 : 2442 MHz 11g Channel 116 : 5580*D MHz 11a
Channel 7 : 2442 MHz 11g ht/20 Channel 116 : 5580*D MHz 11a ht/20
Channel 7 : 2442 MHz 11g ht/40+ Channel 116 : 5580*D MHz 11a ht/40+
Channel 7 : 2442 MHz 11g ht/40- Channel 120 : 5600*D MHz 11a
Channel 8 : 2447 MHz 11b Channel 120 : 5600*D MHz 11a ht/20
Channel 8 : 2447 MHz 11g Channel 120 : 5600*D MHz 11a ht/40-
Channel 8 : 2447 MHz 11g ht/20 Channel 124 : 5620*D MHz 11a
Channel 8 : 2447 MHz 11g ht/40- Channel 124 : 5620*D MHz 11a ht/20
Channel 9 : 2452 MHz 11b Channel 124 : 5620*D MHz 11a ht/40+
Channel 9 : 2452 MHz 11g Channel 128 : 5640*D MHz 11a
Channel 9 : 2452 MHz 11g ht/20 Channel 128 : 5640*D MHz 11a ht/20
Channel 9 : 2452 MHz 11g ht/40- Channel 128 : 5640*D MHz 11a ht/40-
Channel 10 : 2457 MHz 11b Channel 132 : 5660*D MHz 11a
Channel 10 : 2457 MHz 11g Channel 132 : 5660*D MHz 11a ht/20
Channel 10 : 2457 MHz 11g ht/20 Channel 132 : 5660*D MHz 11a ht/40+
Channel 10 : 2457 MHz 11g ht/40- Channel 136 : 5680*D MHz 11a
Channel 11 : 2462 MHz 11b Channel 136 : 5680*D MHz 11a ht/20
Channel 11 : 2462 MHz 11g Channel 136 : 5680*D MHz 11a ht/40-
Channel 11 : 2462 MHz 11g ht/20 Channel 140 : 5700*D MHz 11a
Channel 11 : 2462 MHz 11g ht/40- Channel 140 : 5700*D MHz 11a ht/20
Channel 12 : 2467* MHz 11b Channel 149 : 5745* MHz 11a
Channel 12 : 2467* MHz 11g Channel 149 : 5745* MHz 11a ht/20
Channel 12 : 2467* MHz 11g ht/20 Channel 149 : 5745* MHz 11a ht/40+
Channel 13 : 2472* MHz 11b Channel 153 : 5765* MHz 11a
Channel 13 : 2472* MHz 11g Channel 153 : 5765* MHz 11a ht/20
Channel 13 : 2472* MHz 11g ht/20 Channel 153 : 5765* MHz 11a ht/40-
Channel 36 : 5180* MHz 11a Channel 157 : 5785* MHz 11a
Channel 36 : 5180* MHz 11a ht/20 Channel 157 : 5785* MHz 11a ht/20
Channel 36 : 5180* MHz 11a ht/40+ Channel 157 : 5785* MHz 11a ht/40+
Channel 40 : 5200* MHz 11a Channel 161 : 5805* MHz 11a
Channel 40 : 5200* MHz 11a ht/20 Channel 161 : 5805* MHz 11a ht/20
Channel 40 : 5200* MHz 11a ht/40- Channel 161 : 5805* MHz 11a ht/40-
Channel 44 : 5220* MHz 11a Channel 165 : 5825* MHz 11a
Channel 44 : 5220* MHz 11a ht/20 Channel 165 : 5825* MHz 11a ht/20
Channel 44 : 5220* MHz 11a ht/40+
Command exit status: 0
Script done on Sun May 1 12:31:20 2016
g1-252(11.0-C)[10] `
Finally, a diff between the two (for convenience):
`g1-252(11.0-C)[11] diff -u tmp/p{re,ost}-D6141
- tmp/pre-D6141 2016-05-01 12:27:12.723120000 -0700
+++ tmp/post-D6141 2016-05-01 12:31:20.631335000 -0700
@@ -1,10 +1,10 @@
-Script started on Sun May 1 12:27:03 2016
+Script started on Sun May 1 12:31:13 2016
Command: uname -a
-FreeBSD g1-252.catwhisker.org 11.0-CURRENT FreeBSD 11.0-CURRENT #405 r298876M/298876:1100106: Sun May 1 05:15:48 PDT 2016 root@g1-252.catwhisker.org:/common/S4/obj/usr/src/sys/CANARY amd64
+FreeBSD g1-252.catwhisker.org 11.0-CURRENT FreeBSD 11.0-CURRENT #406 r298876M/298876:1100106: Sun May 1 09:53:41 PDT 2016 root@g1-252.catwhisker.org:/common/S3/obj/usr/src/sys/CANARY amd64
Command exit status: 0
-Script done on Sun May 1 12:27:03 2016
-Script started on Sun May 1 12:27:12 2016
+Script done on Sun May 1 12:31:13 2016
+Script started on Sun May 1 12:31:20 2016
Command: ifconfig -v wlan0 list chan
Channel 1 : 2412 MHz 11b Channel 48 : 5240* MHz 11a
Channel 1 : 2412 MHz 11g Channel 48 : 5240* MHz 11a ht/20
@@ -70,4 +70,4 @@
Channel 44 : 5220* MHz 11a ht/40+
Command exit status: 0
-Script done on Sun May 1 12:27:12 2016
+Script done on Sun May 1 12:31:20 2016
g1-252(11.0-C)[12]
`
Great, thanks!
P.S. About link problem: can you create a bug report for that?
For additional information, you can add
wlandebug_wlan0="state+scan+auth+assoc+crypto"
into rc.conf and attach kernel message log with the moment when it stops working.