Page MenuHomeFreeBSD

iwn: switch to ieee80211_add_channel*()
ClosedPublic

Authored by avos on Apr 28 2016, 6:33 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Nov 25, 8:43 PM
Unknown Object (File)
Nov 12 2024, 4:36 AM
Unknown Object (File)
Nov 5 2024, 4:24 AM
Unknown Object (File)
Nov 4 2024, 6:17 PM
Unknown Object (File)
Nov 2 2024, 12:22 AM
Unknown Object (File)
Oct 29 2024, 4:23 PM
Unknown Object (File)
Oct 21 2024, 7:29 AM
Unknown Object (File)
Oct 21 2024, 6:48 AM
Subscribers

Details

Summary

Switch to add_channel / add_channel_ht40 + pass channel's TX power for the last.

Test Plan

Needs testing.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

avos retitled this revision from to iwn: switch to ieee80211_add_channel*().
avos updated this object.
avos edited the test plan for this revision. (Show Details)
avos added a reviewer: adrian.
avos set the repository for this revision to rS FreeBSD src repository - subversion.

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.

adrian edited edge metadata.

looks good! do it!

thanks david!

This revision is now accepted and ready to land.May 1 2016, 9:49 PM
This revision was automatically updated to reflect the committed changes.