nl80211: use_monitor and non-mac80211 drivers

Joel Cunningham joel.cunningham at
Mon Oct 31 12:44:49 PDT 2016

Actually, studying further, it looks like when drv->device_ap_sme is set to 1 (which is the case with my full MAC driver) the monitor interface is explicitly disabled and we don’t call nl80211_mgmt_subscibe_ap().  So it appears that cfg80211 APIs are always used for receiving management frames and poll command/TX status support doesn’t matter.

Is my understanding correct?



> On Oct 31, 2016, at 1:39 PM, Joel Cunningham <joel.cunningham at> wrote:
> Hi,
> I have a question about the monitor interface that is used by driver_nl80211.c.  I’m working with a vendor driver that implements a full MAC (thus does not use mac80211).  Is it possible to skip using the monitor interface if poll command and TX status are supported and management frames are reported through cfg80211_rx_mgmt()?
> I ask because when studying driver_nl80211.c, it seems that code paths which are used when use_monitor is 0 are specific to mac80211.  For example in nl80211_mgmt_subscribe_ap() we skip registering for beacon frames.
> 	static const int stypes[] = {
> /* Beacon doesn't work as mac80211 doesn't currently allow
> * it, but it wouldn't really be the right thing anyway as
> * it isn't per interface ... maybe just dump the scan
> * results periodically for OLBC?
> */
> 	};
> Thanks,
> Joel
> _______________________________________________
> Hostap mailing list
> Hostap at

More information about the Hostap mailing list