brcmfmac: support monitor frames with the hardware/ucode header
authorRafał Miłecki <rafal@milecki.pl>
Fri, 8 Feb 2019 06:42:30 +0000 (07:42 +0100)
committerKalle Valo <kvalo@codeaurora.org>
Fri, 8 Feb 2019 15:27:26 +0000 (17:27 +0200)
commite665988be29ccea3584528967b432a5cfd801ca4
tree2aaa81f6630c1921267d0b27fb3e31eb4508cbaa
parent2359dd09f9819c7d57d81e05173541f0f9f820c7
brcmfmac: support monitor frames with the hardware/ucode header

So far there were two monitor frame formats:
1) 802.11 frames (with frame (sub)type & all addresses)
2) 802.11 frames with the radiotap header

Testing the latest FullMAC firmwares for 4366b1/4366c0 resulted in
discovering a new format being used. It seems (almost?) identical to the
one known from ucode used in SoftMAC devices which is most likely the
same codebase anyway.

While new firmwares will /announce/ radiotap header support using the
"rtap" fw capability string it seems no string was added for the new
ucode header format.

All above means that:
1) We need new format support when dealing with a received frame
2) A new feature bit & mapping quirks have to be added manually

As for now only an empty radiotap is being created. Adding support for
extracting some info (band, channel, signal, etc.) is planned for the
future.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c
drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.h