* [[MateuszPiotrowski/Drivers/802.11|802.11]]
* [[MateuszPiotrowski/Drivers/FreeBSD|FreeBSD]]
* [[MateuszPiotrowski/Drivers/Linux|Linux]]
* [[MateuszPiotrowski/Drivers/WiFi101|WiFi101]]
==== Main websites / references ====
==== See also ====
----
----
==== What's missing from iwm? ====
* iwm needs fixing in how it interacts with the net80211 state machine (for associating/disassociating with access points and so on).
* iwm is not loaded automatically during installation
* See TODO list on [[/WiFi]]
----
=== MIMO ===
%%OpenBSD%%-current should have MIMO support although it hasn't been tested by Imre personally.
There is an ''%%IWM_STA_FLG_MIMO_EN_MSK%%'' flag in ''%%if_iwmreg.h%%'' which if set means that a device has a support for MIMO. Here's a part of the ''%%if_iwm.c%%'' suggesting that MIMO is supported (MIMO is not supported yet, it is just a flag):
static int
iwm_mvm_sta_send_to_fw(struct iwm_softc *sc, struct iwm_node *in, int update)
{
/* ... */
add_sta_cmd.station_flags_msk
|= htole32(IWM_STA_FLG_FAT_EN_MSK | IWM_STA_FLG_MIMO_EN_MSK);
On the other hand we later read in the same file that:
static void
iwm_setrates(struct iwm_softc *sc, struct iwm_node *in)
{
/* ... */
/*
* are these used? (we don't do SISO or MIMO)
* need to set them to non-zero, though, or we get an error.
*/
lq->single_stream_ant_msk = 1;
lq->dual_stream_ant_msk = 1;
No, iwm does not support MIMO yet:
static void
iwm_mvm_fill_sf_command(struct iwm_softc *sc, struct iwm_sf_cfg_cmd *sf_cmd,
struct ieee80211_node *ni)
{
/* ... */
#ifdef notyet
if (ni->ni_rxmcs[2] != 0)
watermark = IWM_SF_W_MARK_MIMO3;
else if (ni->ni_rxmcs[1] != 0)
watermark = IWM_SF_W_MARK_MIMO2;
else
#endif
----
=== 11n support ===
%%OpenBSD%%-stable has basic 11n support in iwm thanks to Stefan Sperling (stsp at %%OpenBSD%%).
From [[WiFi/80211n]]:
* 802.11n LDPC encoding
* 802.11n DFS support - the current support only functions with 802.11a channels
* 802.11n rate control/selection in net80211 - currently, the rate control modules in net80211 only know about legacy rates
----
=== 11ac support ===
[[/WiFi]] suggests that 11ac is barely (or not at all) supported in %%FreeBSD%%
Things needed for 11ac support in %%FreeBSD%%: [[WiFi/FixUpThings]]
802.11ac TODO list: [[WiFi/80211ac]]
----
=== See also ===
* [[/Networking]]
----
==== What's already there? ====
* 11a, 11bg support: https://lists.freebsd.org/pipermail/freebsd-wireless/2017-March/007552.html
----
==== Related files in the source tree ====
sys/dev/iwm
sys/net80211
----
==== FreeBSD networking stack ====
* ''%%ifnet(9)%%'': https://www.freebsd.org/cgi/man.cgi?query=ifnet&sektion=9&apropos=0&manpath=FreeBSD+11.0-RELEASE+and+Ports
----
//indicates that I've not read it yet (and most often just scanned through)//
\\
//indicates that I've got to investigate whether it is true or not//
Special thanks to
:-):-):-):-):-):-):-):-):-):-):-):-):-):-)