OpenBSD cvs log

created 2021-10-16T15:25:35Z
begin 2021-10-11T00:00:00Z
end 2021-10-12T00:00:00Z
path src/sys
commits 4

date 2021-10-11T09:01:05Z
author stsp
files src/sys/dev/ic/ar5008.c log diff annotate
src/sys/dev/pci/if_iwm.c log diff annotate
src/sys/dev/pci/if_iwn.c log diff annotate
message Add support for 40MHz channels to net80211 RA.

For the moment we use either the 40MHz rate set or the 20 MHz one,
depending on whether our peer supports 40MHz channels.
If this turns out to be suboptimal we could probe the 40MHz and 20MHz
rate sets separately to detect which one works better.

The same applies to use of the short guard interval (SGI), which is
either always on or off at the moment. Again, probing for this could
be added later if needed.

date 2021-10-11T09:01:06Z
author stsp
files src/sys/net80211/ieee80211.c log diff annotate
src/sys/net80211/ieee80211_node.h log diff annotate
src/sys/net80211/ieee80211_proto.c log diff annotate
src/sys/net80211/ieee80211_ra.c log diff annotate
src/sys/net80211/ieee80211_ra.h log diff annotate
src/sys/net80211/ieee80211_var.h log diff annotate
message Add support for 40MHz channels to net80211 RA.

For the moment we use either the 40MHz rate set or the 20 MHz one,
depending on whether our peer supports 40MHz channels.
If this turns out to be suboptimal we could probe the 40MHz and 20MHz
rate sets separately to detect which one works better.

The same applies to use of the short guard interval (SGI), which is
either always on or off at the moment. Again, probing for this could
be added later if needed.

date 2021-10-11T09:02:01Z
author stsp
files src/sys/net80211/ieee80211_input.c log diff annotate
src/sys/net80211/ieee80211_var.h log diff annotate
message Monitor 20/40 MHz channel width changes in beacons sent by our access point
and notify drivers when the channel width has changed.

date 2021-10-11T09:03:22Z
author stsp
files src/sys/dev/pci/if_iwm.c log diff annotate
src/sys/dev/pci/if_iwmreg.h log diff annotate
src/sys/dev/pci/if_iwmvar.h log diff annotate
message Add support for 802.11n 40MHz channels to the iwm(4) driver.

According to 11n MCS index tables our maximum data rate is now
300 Mbit/s at MCS 15, excluding protocol overhead. I have measured
up to 200Mbit/s of effective throughput on clean 5GHz channels.

The driver enables use of 40MHz channels automatically as long as the
access point announces support for such channels in its beacons.
In case 40MHz transmissions fail we ask firmware to retry with a
20MHz transmission.

There is no integration with ifconfig yet, so use of 40MHz is not yet
displayed there. In the meantime, tcpdump(8) can be used to check if
the current access point supports 40MHz:
tcpdump -n -i iwm0 -v -y IEEE802_11_RADIO -s 4096 type mgt and subtype beacon
Channel width is displayed in the HT operation information element, where
a 40MHz channels looks like this: htop=<40MHz chan X:Y ...>

Tested:
7260: florian, bcallah
7265: landry
8260: bket
8265: stsp, abieber, Matthias Schmidt, Josh Rickmar, empee on mastodon
9560: stsp