The wifiwave2 package offers a new wireless driver, supporting 802.11ac Wave 2 features and an alternative configuration menu. Installing it disables other means of configuring wireless interfaces, including CAPsMAN.
It can be downloaded as part of the 'Extra Packages' archive for the latest ARM release of RouterOS 7.
Note: Before trying the wifiwave2 package, make sure to back up any wireless and CAPsMAN configuration you may want to restore afterwards.
The wifiwave2 package is compatible with IPQ4019 and QCA9984 wireless interfaces and is only available for ARM builds of RouterOS v7. It also requires 10MB of free space and at least 256MB of RAM.
As of the release of RouterOS 7.1rc1, this means it is compatible with 4 devices:
*Please note that the wifiwave2 package is not compatible with CAPsMAN.
**Note that the 2.4GHz wireless interface on the RB4011iGS+5HacQ2HnD is not compatible with the wifiwave2 package. It will not be usable with the package installed.
When using a graphical configuration tool (WinBox or WebFig), wifiwave2 interfaces can be configured using either the 'Wireless' or 'QuickSet' tabs.
When using a CLI, wifiwave2 interfaces can be configured in the '/interface/wifiwave2' menu.
|arp (disabled | enabled | local-proxy-arp | proxy-arp | reply-only)||Address Resolution Protocol mode:|
|arp-timeout (time interval | 'auto')||Determines how long a dynamically added ARP table entry is considered valid since the last packet was received from the respective IP address.|
Value auto equals to the value of arp-timeout in /ip settings, which defaults to 30s.
channel.band (2ghz-g | 2ghz-n | 2ghz-ax | 5ghz-a | 5ghz-ac | 5ghz-an | 5ghz-ax)
Supported frequency band and wireless standard. Defaults to newest supported standard.
|channel.frequency (list of integers or integer ranges)|
For an interface in AP mode, determines frequencies (in MHz) to consider when picking control channel center frequency.
For an interface in station mode, determines frequencies on which to scan for APs.
Leave unset (default) to consider all frequencies supported by the radio and permitted by the applicable regulatory profille.
The parameter can contain 1 or more comma-separated values of integers or, optionally, ranges of integers denoted using the syntax RangeBeginning-RangeEnd:RangeStep
Examples of valid channel.frequency values:
|channel.secondary-frequency (list of integers | 'disabled')|
Frequency (in MHz) to use for the center of the secondary part of a split 80+80MHz channel. See list of official 80MHz channels for example of valid values (5210, 5290...)
Leave unset (default) for automatic selection of secondary channel frequency.
|channel.skip-dfs-channels (10min-cac | all | disabled)|
Whether to avoid using channels on which channel availability check (listening for presence of radar signals) is required.
channel.width ( 20mhz | 20/40mhz | 20/40mhz-Ce | 20/40mhz-eC | 20/40/80mhz | 20/40/80+80mhz 20/40/80/160mhz)
Width of radio channel. Defaults to widest channel supported by the radio hardware.
configuration.chains (list of integer 0..7 )
Radio chains to use for receiving signals. Defaults to all chains available to the corresponding radio hardware.
configuration.country (name of a country)
Determines, which regulatory domain restrictions are applied to an interface. Defaults to "United States", prohibiting use of frequencies 2467-2472 in the 2.4GHz band.
configuration.hide-ssid (no | yes)
|configuration.mode (ap | station)|
Interface operation mode
|configuration.ssid (string)||The extended service set identifier (ESSID) of the interface. The default value is unset.|
|configuration.tx-chains (list of integer [0..7])||Radio chains to use for transmitting signals. Defaults to all chains available to the corresponding radio hardware.|
|configuration.tx-power (integer 0..40)||A limit on the transmit power (in dBm) of the interface. Can not be used to set power above limits imposed by the regulatory profile. Unset by default.|
|disable-running-check (no | yes)|
disabled (no | yes) (X)
Hardware interfaces are disabled by default. Virtual interfaces are not.
MAC address (BSSID) to use for an interface.
Hardware interfaces default to the MAC address of the associated radio interface.
Default MAC addresses for virtual interfaces are generated by
Only one interface configuration can be bound to any one radio, determining its parameters (frequency, channel width, etc).
To have multiple networks running on the same radio, any additional interface configuration ('virtual APs') must be bound to a master interface configuration.
No default value.
A name for the interface. Defaults to wifiN, where N is the lowest integer that has not yet been used for naming an interface.
security.authentication-types (list of wpa-psk, wpa2-psk, wpa-eap, wpa2-eap, wpa3-psk, owe, wpa3-eap, wpa3-eap-192)
Authentication types to enable on the interface.
Default value depends on value of 'security.passphrase' and 'mode' parameters. If security.passphrase is unset, security.authentication-types will default to an empty list (no authentication).
If security.passphrase is configured, security.authentication-types will default to wpa2-psk for interfaces in AP mode and to wpa-psk,wpa2-psk for interfaces in station mode.
|security.dh-groups (list of 19, 20, 21)|
Identifiers of elliptic curve cryptography groups to use in SAE (WPA3) authentication.
|security.disable-pmkid (no | yes)||Whether to include PMKID into the EAPOL frame sent out by the Access Point. Disabling PMKID can cause compatibility issues with devices that use the PMKID to connect to an Access Point.|
|Note: The properties related to EAP, which are listed below, are only relevant to interfaces in station mode. APs delegate EAP authentication to the RADIUS server.|
|security.eap-accounting (no | yes)||Explicitly enable accouting packets for radius-eap authentication. Default: no.|
|security.eap-anonymous-identity (string)||Optional anonymous identity for EAP outer authentication. No default value.|
|security.eap-certificate-mode (dont-verify-certificate | no-certificates | verify-certificate | verify-certificate-with-crl)|
Policy for handling the TLS certificate of the RADIUS server.
|security.eap-methods (list of peap, tls, ttls)||EAP methods to consider for authentication. Defaults to all supported methods.|
|security.eap-password (string)||Password to use, when the chosen EAP method requires one. No default value.|
|security.eap-tls-certificate (certificate)||Name or id of a certificate in the device's certificate store to use, when the chosen EAP authentication method requires one. No default value.|
|security.eap-username (string)||Username to use when the chosen EAP method requires one. No default value.|
|security.encryption (list of ccmp, ccmp-256, gcmp, gcmp-256, tkip)|
A list of ciphers to support for encrypting unicast traffic.
Defaults to ccmp.
|security.group-encryption(ccmp | ccmp-256 | gcmp | gcmp-256 | tkip)|
Cipher to use for encrypting multicast traffic.
Defaults to ccmp.
|security.group-key-update (time interval 30s..1h)|
Interval at which the group temporal key (key for encrypting broadcast traffic) is renewed. Defaults to 300s.
|security.management-encryption (cmac | cmac-256 | gmac | gmac-256)|
Cipher to use for encrypting protected management frames. Defaults to cmac.
security.management-protection (allowed | disabled | required)
Whether to use 802.11w management frame protection. Incompatible with management frame protection in standard wireless package.
Default value depends on value of selected authentication type (WPA (1) does not support MFP, while WPA3 requires it).
Name or internal id of an interface whose MAC address and SSID to advertise as the matching AP when running in OWE transition mode. Required for setting up open APs that offer OWE, but also work with older devices that don't support the standard. See configuration example below.
|security.passphrase (string of up to 63 characters)|
Passphrase to use for PSK authentication types. Defaults to an empty string - "".
WPA-PSK and WPA2-PSK authentication requires a minimum of 8 chars, while WPA3-PSK does not have minimum passphrase length.
|security.sae-anti-clogging-threshold ('disabled' | integer)|
Due to SAE (WPA3) associations being CPU resource intensive, overwhelming an AP with bogus authentication requests makes for a feasible denial-of-service attack.
This parameter provides a way to mitigate such attacks by specifying a threshold of in-progress SAE authentications, at which the AP will start requesting that client devices include a cookie bound to their MAC address in their authentication requests.
|security.sae-max-failure-rate ('disabled' | integer)||Rate of failed SAE (WPA3) associations per minute, at which the AP stops processing association requests from a given client device. Defaults to disabled.|
|security.wps (disabled | push-button)|
|bound (boolean) (B)|
Always true for master interfaces (configurations linked to radio hardware).
True for a virtual interface (configurations linked to a master interface) when both the interface itself and its master interface are not disabled.
|default-name (string)||The default name for an interface.|
|inactive (boolean) (I)|
False for interfaces in AP mode when they've selected a channel for operation (i.e. configuration has been successfully applied).
False for interfaces in station mode when they've connected to an AP (i.e. configuration has been successfully applied, an with AP with matching settings has been found).
|master (boolean) (M)||True for interface configurations, which are bound radio hardware. False for interface configurations bound to master interfaces ('virtual APs').|
|radio-mac (MAC)||The MAC address of the associated radio.|
|running (boolean) (R)|
True, when an interface has established a link to another device.
If disable-running-check is set to 'yes', true whenever the interface is not disabled.
Wifiwave2 interface configurations can be reset by using the 'reset' command.Error rendering macro 'code': Invalid value specified for parameter 'com.atlassian.confluence.ext.code.render.InvalidValueException'
/interface/wifiwave2 set wifi1 disabled=no configuration.ssid=MikroTik \ security.authentication-types=wpa2-psk,wpa3-psk security.passphrase=8-63_characters
Opportunistic wireless encryption (OWE) allows creation of wireless networks that do not require the knowledge of a password to connect, but still offer the benefits of traffic encryption and management frame protection. It is an improvement on regular open access points.
However, since a network cannot be simultaneously encrypted and unencrypted, 2 separate interface configurations are required to offer connectivity to older devices that do not support OWE and offer the benefits of OWE to devices that do.Error rendering macro 'code': Invalid value specified for parameter 'com.atlassian.confluence.ext.code.render.InvalidValueException'
/interface/wifiwave2 add master-interface=wifi1 name=wifi1_owe configuration.ssid=MikroTik_OWE \ security.authentication-types=owe security.owe-tranistion-interface=wifi1 \ configuration.hide-ssid=yes set wifi1 configuration.ssid=MikroTik security.authentication-types="" security.owe-transition-interface=wifi1_owe enable wifi1,wifi1_owe
Information about RF conditions on available channels can be obtained by running the frequency-scan command.
|duration (time interval)||Length of time to perform the scan for before exiting. Useful for non-interactive use. Not set by default.|
|freeze-frame-interval (time interval)||Time interval at which to update command output. Default: 1s.|
|frequency (list of frequencies/ranges)||Frequencies to perform the scan on. See channel.frequency parameter syntax above for more detail. Defaults to all supported frequencies.|
|number (string)||Either the name or internal id of the interface to perform the scan with. Required. Not set by default.|
|rounds (integer)||Number of times to go through list of scannable frequencies before exiting. Useful for non-interactive use. Not set by default.|
|save-file (string)||Name of file to save output to. Not set by default.|
|channel (integer)||Frequency (in MHz) of the channel scanned.|
Number of access points detected on the channel.
|load (integer)||Percentage of time the channel was busy during the scan.|
|nf (integer)||Noise floor (in dBm) of the channel.|
|max-signal (integer)||Maximum signal strength (in dBm) of APs detected in the channel.|
|min-signal (integer)||Minimum signal strength (in dBm) of APs detected in the channel.|
|primary (boolean) (P)||Channel is in use as the primary (control) channel by an AP.|
|secondary (boolean) (S)||Channel is in use as a secondary (extension) channel by an AP.|
The '/interface wifiwave2 scan' command will scan for access points and print out information about any APs it detects.
The scan command takes all the same parameters as the frequency-scan command.
|active (boolean) (A)||Signifies that beacons from the AP have been received in the last 30 seconds.|
|address (MAC)||The MAC address (BSSID) of the AP.|
|channel (string)||The control channel frequency used by the AP, its supported wireless standards and control/extension channel layout.|
Authentication methods supported by the AP.
|signal (integer)||Signal strength of the AP's beacons (in dBm).|
|ssid (string)||The extended service set identifier of the AP.|
|sta-count (integer)||The number of client devices associated with the AP. Only available if the AP includes this information in its beacons.|
An AP can be made to accept WPS authentication by a client device for 2 minutes by running the following command.Error rendering macro 'code': Invalid value specified for parameter 'com.atlassian.confluence.ext.code.render.InvalidValueException'
/interface wifiwave2 wps-push-button wifi1
The wps-client command enables obtaining authentication information from a WPS-enabled AP.
|duration (time interval)||Length of time after which the command will time out if no AP is found. Unlimited by default.|
|interval (time interval)||Time interval at which to update command output. Default: 1s.|
|mac-address (MAC)||Only attempt connecting to AP with the specified MAC (BSSID). Not set by default.|
|number (string)||Name or internal id of the interface with which to attempt connection. Not set by default.|
|ssid (string)||Only attempt to connect to APs with the specified SSID. Not set by default.|
Information about the capabilities of each radio can be gained by running the `/interface/wifiwave2/radio print detail` command.
Following is a list of radio parameters.
|2g-channels (list of integers)||Frequencies supported in the 2.4GHz band.|
|5g-channels (list of integers)||Frequencies supported in the 5GHz band.|
|bands (list of strings)||Supported frequency bands, wireless standards and channel widths.|
|ciphers (list of strings)||Supported encryption ciphers.|
|countries (list of strings)||Regulatory domains supported by the interface.|
|min-antenna-gain (integer)||Minimum antenna gain permitted for the interface.|
A unique identifier.
|radio-mac (MAC)||MAC address of the radio interface. Can be used to match radios to interface configurations.|
|rx-chains (list of integers)||IDs for radio chains available for receiving radio signals.|
|tx-chains (list of integers)||IDs for radio chains available for transmitting radio signals.|
The registration table contains read-only information about associated wireless devices.
|authorized (boolean) (A)||True when the peer has successfully authenticated.|
|bytes (list of integers)||Number of bytes in packets received from the peer and sent to it.|
|interface (string)||Name of the interface, which was used to associate with the peer.|
|mac-address (MAC)||The MAC address of the peer.|
|packets (list of integers)||Number of packets received from the peer and sent to it.|
|rx-rate (string)||Bitrate of received transmissions from peer.|
Strength of signal received from the peer (in dBm).
|tx-rate (string)||Bitrate used for transmitting to the peer.|
|uptime (time interval)||Time since association.|
Wireless peers can be manually de-authenticated (forcing re-association) by removing them from the registration table.Error rendering macro 'code': Invalid value specified for parameter 'com.atlassian.confluence.ext.code.render.InvalidValueException'
/interface wifiwave2 registration-table remove [find where mac-address=02:01:02:03:04:05]