<?xml version="1.0" encoding="UTF-8"?>
<!--
  Device:2 Root Data Model: Common Object definitions [WiFi]

  Copyright (c) 2010-2021, Broadband Forum

  The undersigned members have elected to grant the copyright to
  their contributed material used in this software:
    Copyright (c) 2017-2019 ARRIS Enterprises, LLC.

  Redistribution and use in source and binary forms, with or
  without modification, are permitted provided that the following
  conditions are met:

  1. Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above
     copyright notice, this list of conditions and the following
     disclaimer in the documentation and/or other materials
     provided with the distribution.

  3. Neither the name of the copyright holder nor the names of its
     contributors may be used to endorse or promote products
     derived from this software without specific prior written
     permission.

  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

  The above license is used as a license under copyright only.
  Please reference the Forum IPR Policy for patent licensing terms
  <https://www.broadband-forum.org/ipr-policy>.

  Any moral rights which are necessary to exercise under the above
  license grant are also deemed granted under this license.

  Comments or questions about this Broadband Forum data model should be
  directed to <info@broadband-forum.org>.
-->

<dm:document
    xmlns:dm="urn:broadband-forum-org:cwmp:datamodel-1-8"
    xmlns:dmr="urn:broadband-forum-org:cwmp:datamodel-report-1-0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
      urn:broadband-forum-org:cwmp:datamodel-1-8
        https://www.broadband-forum.org/cwmp/cwmp-datamodel-1-8.xsd
      urn:broadband-forum-org:cwmp:datamodel-report-1-0
        https://www.broadband-forum.org/cwmp/cwmp-datamodel-report-1-0.xsd"
    spec="urn:broadband-forum-org:tr-181-2-15-0-wifi"
    file="tr-181-2-15-0-wifi.xml">

  <import file="tr-069-biblio.xml" spec="urn:broadband-forum-org:tr-069"/>

  <import file="tr-106-types.xml" spec="urn:broadband-forum-org:tr-106">
    <dataType name="Alias" ref="_AliasCommon"/>
    <dataType name="IPAddress"/>
    <dataType name="IPv4Address"/>
    <dataType name="IPv6Address"/>
    <dataType name="MACAddress"/>
    <dataType name="StatsCounter32"/>
    <dataType name="StatsCounter64"/>
  </import>

  <import file="tr-181-2-root.xml"
      spec="urn:broadband-forum-org:tr-181-2-14-root">
    <component name="Root"/>
  </import>

  <component name="WiFiNeighboringWiFiDiagnosticsOutputNumberOfEntries">
    <parameter name="ResultNumberOfEntries" access="readOnly">
      <description>
        {{numentries}}
      </description>
      <syntax>
        <unsignedInt/>
      </syntax>
    </parameter>
  </component>

  <component name="WiFiNeighboringWiFiDiagnosticsOutput">

    <object name="Result.{i}." access="readOnly"
        numEntriesParameter="ResultNumberOfEntries" minEntries="0"
        maxEntries="unbounded" version="2.7">
      <description>
        Neighboring SSID table. This table models other WiFi SSIDs that this
        device is able to receive.
      </description>
      <uniqueKey>
        <parameter ref="BSSID"/>
      </uniqueKey>

      <parameter name="Radio" access="readOnly">
        <description>
          The Radio that detected the neighboring WiFi SSID.
        </description>
        <syntax>
          <string>
            <pathRef refType="strong" targetParent="Device.WiFi.Radio."
                targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SSID" access="readOnly">
        <description>
          The current service set identifier in use by the neighboring WiFi
          SSID. The value MAY be empty for hidden SSIDs.
        </description>
        <syntax>
          <string>
            <size maxLength="32"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="BSSID" access="readOnly">
        <description>
          The BSSID used for the neighboring WiFi SSID.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="Mode" access="readOnly">
        <description>
          The mode the neighboring WiFi radio is operating in.
        </description>
        <syntax>
          <string>
            <enumeration value="AdHoc"/>
            <enumeration value="Infrastructure"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Channel" access="readOnly">
        <description>
          The current radio channel used by the neighboring WiFi radio.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="SignalStrength" access="readOnly">
        <description>
          An indicator of radio signal strength (RSSI) of the neighboring WiFi
          radio measured in {{units}}, as an average of the last 100 packets
          received.
        </description>
        <syntax>
          <int>
            <range minInclusive="-200" maxInclusive="0"/>
            <units value="dBm"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="SecurityModeEnabled" access="readOnly">
        <description>
          The type of encryption the neighboring WiFi SSID advertises.

          The {{enum|WEP}} value indicates either WEP-64 or WEP-128.

          The {{enum|WPA}} value is the same as WPA-Personal.

          The {{enum|WPA2}} value is the same as WPA2-Personal.

          The {{enum|WPA-WPA2}} value is the same as WPA-WPA2-Personal.

          The {{enum|WPA3-SAE}} value is the same as WPA3-Personal.

          The {{enum|WPA2-PSK-WPA3-SAE}} value is the same as
          WPA3-Personal-Transition.
        </description>
        <syntax>
          <string>
            <enumeration value="None"/>
            <enumeration value="WEP"/>
            <enumeration value="WPA"/>
            <enumeration value="WPA2"/>
            <enumeration value="WPA-WPA2"/>
            <enumeration value="WPA-Enterprise"/>
            <enumeration value="WPA2-Enterprise"/>
            <enumeration value="WPA-WPA2-Enterprise"/>
            <enumeration value="WPA3-SAE"/>
            <enumeration value="WPA2-PSK-WPA3-SAE"/>
            <enumeration value="WPA3-Enterprise"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="EncryptionMode" access="readOnly">
        <description>
          The type of encryption the neighboring WiFi SSID advertises.

          When {{param|SecurityModeEnabled}} is one of
          {{enum|WPA3-SAE|SecurityModeEnabled}},
          {{enum|WPA2-PSK-WPA3-SAE|SecurityModeEnabled}}, or
          {{enum|WPA3-Enterprise|SecurityModeEnabled}}, {{enum|TKIP}} is not
          valid, and should not be in the list.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="TKIP"/>
            <enumeration value="AES"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="OperatingFrequencyBand" access="readOnly">
        <description>
          Indicates the frequency band at which the radio this SSID instance is
          operating.
        </description>
        <syntax>
          <string>
            <enumeration value="2.4GHz"/>
            <enumeration value="5GHz"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SupportedStandards" access="readOnly">
        <description>
          {{list}} List items indicate which IEEE 802.11 standards this
          {{object}} instance can support simultaneously, in the frequency band
          specified by {{param|OperatingFrequencyBand}}. {{enum}}

          Each value indicates support for the indicated standard.

          If {{param|OperatingFrequencyBand}} is set to
          {{enum|2.4GHz|OperatingFrequencyBand}}, only values {{enum|b}},
          {{enum|g}}, {{enum|n}}, {{enum|ax}} are allowed.

          If {{param|OperatingFrequencyBand}} is set to
          {{enum|5GHz|OperatingFrequencyBand}}, only values {{enum|a}},
          {{enum|n}}, {{enum|ac}}, {{enum|ax}} are allowed.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="a">
              <description>{{bibref|802.11a-1999}}</description>
            </enumeration>
            <enumeration value="b">
              <description>{{bibref|802.11b-1999}}</description>
            </enumeration>
            <enumeration value="g">
              <description>{{bibref|802.11g-2003}}</description>
            </enumeration>
            <enumeration value="n">
              <description>{{bibref|802.11n-2009}}</description>
            </enumeration>
            <enumeration value="ac">
              <description>{{bibref|802.11ac-2013}}</description>
            </enumeration>
            <enumeration value="ax">
              <description>{{bibref|802.11ax}}</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="OperatingStandards" access="readOnly">
        <description>
          {{list}} List items indicate which IEEE 802.11 standard that is
          detected for this {{object}}.

          Each value indicates support for the indicated standard.

          If {{param|OperatingFrequencyBand}} is set to
          {{enum|2.4GHz|##.Radio.{i}.SupportedFrequencyBands}}, only values
          {{enum|b}}, {{enum|g}}, {{enum|n}}, {{enum|ax}} are allowed.

          If {{param|OperatingFrequencyBand}} is set to
          {{enum|5GHz|##.Radio.{i}.SupportedFrequencyBands}}, only values
          {{enum|a}}, {{enum|n}}, {{enum|ac}}, {{enum|ax}} are allowed.

          For example, a value of "g,b" (or "b,g" - order is not important)
          means that the 802.11g standard {{bibref|802.11g-2003}} is used with
          a backwards-compatible mode for 802.11b {{bibref|802.11b-1999}}. A
          value of "g" means that only the 802.11g standard can be used.
        </description>
        <syntax>
          <list/>
          <string>
            <enumerationRef targetParam="SupportedStandards"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="OperatingChannelBandwidth" access="readOnly">
        <description>
          Indicates the bandwidth at which the channel is operating.
        </description>
        <syntax>
          <string>
            <enumeration value="20MHz"/>
            <enumeration value="40MHz"/>
            <enumeration value="80MHz"/>
            <enumeration value="160MHz"/>
            <enumeration value="Auto"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="BeaconPeriod" access="readOnly">
        <description>
          Time interval (in {{units}}) between transmitting beacons.
        </description>
        <syntax>
          <unsignedInt>
            <units value="ms"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Noise" access="readOnly">
        <description>
          Indicator of average noise strength (in {{units}}) received from the
          neighboring WiFi radio.
        </description>
        <syntax>
          <int>
            <range minInclusive="-200" maxInclusive="0"/>
            <units value="dBm"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="BasicDataTransferRates" access="readOnly">
        <description>
          {{list}} Basic data transmit rates (in Mbps) for the SSID. For
          example, if {{param}} is "1,2", this indicates that the SSID is
          operating with basic rates of 1 Mbps and 2 Mbps.
        </description>
        <syntax>
          <list>
            <size maxLength="256"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="SupportedDataTransferRates" access="readOnly">
        <description>
          {{list}} Data transmit rates (in Mbps) for unicast frames at which
          the SSID will permit a station to connect. For example, if {{param}}
          is "1,2,5.5", this indicates that the SSID will only permit
          connections at 1 Mbps, 2 Mbps and 5.5 Mbps.
        </description>
        <syntax>
          <list>
            <size maxLength="256"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="DTIMPeriod" access="readOnly">
        <description>
          The number of beacon intervals that elapse between transmission of
          Beacon frames containing a TIM element whose DTIM count field is 0.
          This value is transmitted in the DTIM Period field of beacon frames.
          {{bibref|802.11-2020}}
        </description>
        <syntax>
          <unsignedInt>
            <units value="ms"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>
  </component>

  <component name="WiFiChannelScanInput">

    <object name="OpClass.{i}." access="readWrite" minEntries="0"
        maxEntries="unbounded" version="2.15">
      <description>
        The Operating Classes for which this channel scan is requested.
      </description>

      <parameter name="OperatingClass" mandatory="true" access="readOnly">
        <description>
          The Operating Class per {{bibref|802.11-2020|Table E-4}} of the
          OpClass and Channel tuple scanned by the Radio. Note that the
          Operating Class identifies the band and channel width. For 2.4GHz and
          5GHz bands, only 20MHz Operating Classes are valid.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object name="OpClass.{i}.Channel.{i}." access="readWrite" minEntries="0"
        maxEntries="unbounded" version="2.15">
      <description>
        The Channels for which this channel scan is requested.
      </description>

      <parameter name="Channel" mandatory="true" access="readOnly">
        <description>
          The Channel number of the Channel that is requested to be scanned.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>
    <component ref="WiFiScanInput"/>
  </component>

  <component name="WiFiScanInput">

    <parameter name="DwellTime" access="readWrite" mandatory="true"
        version="2.15">
      <description>
        The duration of the time to scan each channel in {{units}}. A value of
        50 {{units}} is suggested.
      </description>
      <syntax>
        <unsignedInt>
          <units value="milliseconds"/>
        </unsignedInt>
      </syntax>
    </parameter>

    <parameter name="DFSDwellTime" access="readWrite" mandatory="true"
        version="2.15">
      <description>
        The duration of time to scan each Dynamic Frequency Selection (DFS)
        channel in {{units}}. A value of at least one beacon interval,
        typically 100 {{units}}, is suggested.
      </description>
      <syntax>
        <unsignedInt>
          <units value="milliseconds"/>
        </unsignedInt>
      </syntax>
    </parameter>

    <parameter name="HomeTime" access="readWrite" version="2.15">
      <description>
        The time in {{units}} after which the driver has to go back to the
        original channel before scanning the next channel to avoid disruption.
        If this is omitted, or is not supported by the device, then it should
        be ignored.
      </description>
      <syntax>
        <unsignedInt>
          <units value="milliseconds"/>
        </unsignedInt>
      </syntax>
    </parameter>

    <parameter name="SSID" access="readWrite" version="2.15">
      <description>
        The Service Set Identifier (SSID) to scan. If omitted, then all SSIDs
        are scanned.
      </description>
      <syntax>
        <string/>
      </syntax>
    </parameter>
  </component>

  <component name="SteerWiFiBackhaulInput">

    <parameter name="TargetBSS" access="readWrite" mandatory="true"
        version="2.15">
      <description>
        Basic Service Set Identifier (BSSID) of the target BSS which the
        associated device(s) is to be associated to.
      </description>
      <syntax>
        <dataType ref="MACAddress"/>
      </syntax>
    </parameter>

    <parameter name="Channel" access="readWrite" version="2.15">
      <description>
        The number of the Wi-Fi channel the backhaul BSS is to be associated
        to. If {{param}} is not specified, then the radio is to determine which
        channel to use to associate to the requested SSID.
      </description>
      <syntax>
        <unsignedInt/>
      </syntax>
    </parameter>

    <parameter name="TimeOut" access="readWrite" mandatory="true"
        version="2.15">
      <description>
        The maximum timeout for this backhaul steering to occur in {{units}}.
      </description>
      <syntax>
        <unsignedInt>
          <units value="milliseconds"/>
        </unsignedInt>
      </syntax>
    </parameter>
  </component>

  <component name="BTMRequestInput">

    <parameter name="DisassociationImminent" access="readWrite"
        mandatory="true" version="2.15">
      <description>
        Indicates if the disassociation is imminent, as defined in
        {{bibref|802.11-2020|Section 9.6.13.9}}.
      </description>
      <syntax>
        <boolean/>
      </syntax>
    </parameter>

    <parameter name="DisassociationTimer" access="readWrite" mandatory="true"
        version="2.15">
      <description>
        The number of {{units}} until the AP sends a disassociation frame to
        this station. If {{param}}=0 then {{param}} is not used.
      </description>
      <syntax>
        <unsignedInt>
          <units value="beacon transmission times"/>
        </unsignedInt>
      </syntax>
    </parameter>

    <parameter name="BSSTerminationDuration" access="readWrite"
        mandatory="true" version="2.15">
      <description>
        The number of {{units}} for which the BSS is not present. If
        {{param}}=0 or if this input in not provided, then {{param}} is not
        used.
      </description>
      <syntax>
        <unsignedInt>
          <units value="minutes"/>
        </unsignedInt>
      </syntax>
    </parameter>

    <parameter name="ValidityInterval" access="readWrite" version="2.15">
      <description>
        The amount of time in {{units}} that the {{command}} is valid for. If
        {{param}}=0 or if this input in not provided, then {{param}} is not
        used.
      </description>
      <syntax>
        <unsignedInt>
          <units value="beacon intervals"/>
        </unsignedInt>
      </syntax>
    </parameter>

    <parameter name="SteeringTimer" access="readWrite" version="2.15">
      <description>
        The amount of time in {{units}} that this associated device is not
        allowed to return to the original BSS. If {{param}}=0 or if this input
        in not provided, then {{param}} is not used.
      </description>
      <syntax>
        <unsignedInt>
          <units value="beacon intervals"/>
        </unsignedInt>
      </syntax>
    </parameter>

    <parameter name="TargetBSS" access="readWrite" mandatory="true"
        version="2.15">
      <description>
        BSSID of the target BSS which the associated device(s) is to be
        associated to.
      </description>
      <syntax>
        <dataType ref="MACAddress"/>
      </syntax>
    </parameter>
  </component>

  <component name="RemoteMeasurementRequestInput">

    <parameter name="TargetBSS" access="readWrite" mandatory="true"
        version="2.15">
      <description>
        The BSSID of the remote BSS.
      </description>
      <syntax>
        <dataType ref="MACAddress"/>
      </syntax>
    </parameter>

    <parameter name="Timeout" access="readWrite" mandatory="true"
        version="2.15">
      <description>
        The duration after which the request is timed out in {{units}}.
      </description>
      <syntax>
        <unsignedInt>
          <units value="seconds"/>
        </unsignedInt>
      </syntax>
    </parameter>

    <parameter name="OperatingClass" access="readWrite" mandatory="true"
        version="2.15">
      <description>
        The Operating Class in {{bibref|802.11-2020|Table E-4}} for which the
        measurement is requested.
      </description>
      <syntax>
        <unsignedInt>
          <range maxInclusive="255"/>
        </unsignedInt>
      </syntax>
    </parameter>

    <parameter name="Channel" access="readWrite" mandatory="true"
        version="2.15">
      <description>
        The number of the channel for which the measurement is requested.
      </description>
      <syntax>
        <unsignedInt/>
      </syntax>
    </parameter>
  </component>

  <component name="RemoteMeasurementRequestOutput">

    <parameter name="SignalStrength" access="readOnly" version="2.15">
      <description>
        The received signal strength (RSSI) as received by the radio measured
        in {{units}}. RSSI is encoded as per {{bibref|802.11-2020|Table
        9-176}}. Reserved: 221 - 255.
      </description>
      <syntax>
        <unsignedInt>
          <range maxInclusive="255"/>
          <units value="dBm"/>
        </unsignedInt>
      </syntax>
    </parameter>

    <parameter name="Noise" access="readOnly" version="2.15">
      <description>
        An indicator of the average radio noise plus interference power as
        received by the radio. Encoded as defined for ANPI in
        {{bibref|802.11-2020|Section 11.10.9.4}}.
      </description>
      <syntax>
        <unsignedInt>
          <range maxInclusive="255"/>
        </unsignedInt>
      </syntax>
    </parameter>
  </component>

  <component name="CCAMeasurementInput">

    <parameter name="Channel" access="readWrite" mandatory="true"
        version="2.15">
      <description>
        The number of the Wi-Fi channel the clear channel assessment (CCA)
        measurement is run on.
      </description>
      <syntax>
        <unsignedInt/>
      </syntax>
    </parameter>

    <parameter name="DwellTime" access="readWrite" mandatory="true"
        version="2.15">
      <description>
        The duration of the CCA measurement in {{units}}.
      </description>
      <syntax>
        <unsignedInt>
          <units value="milliseconds"/>
        </unsignedInt>
      </syntax>
    </parameter>
  </component>

  <component name="CCAMeasurementOutput">

    <parameter name="CCAReport" access="readOnly" version="2.15">
      <description>
        The clear channel assessment (CCA) report in the format specified in
        {{bibref|802.11-2020|Section 9.4.2.21.3}}.

        When read, the value of this parameter MUST correspond to
        {{param|Channel}}. How this is achieved is a local matter to the CPE.
      </description>
      <syntax>
        <hexBinary>
          <size minLength="12" maxLength="12"/>
        </hexBinary>
      </syntax>
    </parameter>
  </component>

  <component name="DisassociateInput">

    <parameter name="DisassociationTimer" access="readWrite" mandatory="true"
        version="2.15">
      <description>
        The time for which the associated device is to be disassociated in
        {{units}}. If set to 0, then the associated device is blocked
        indefinately.
      </description>
      <syntax>
        <unsignedInt>
          <units value="minutes"/>
        </unsignedInt>
      </syntax>
    </parameter>

    <parameter name="ReasonCode" access="readWrite" mandatory="true"
        version="2.15">
      <description>
        The reason code for the request for the associated device to be
        disassociated, as defined in {{bibref|802.11-2020|Table 9-49}}.
      </description>
      <syntax>
        <unsignedInt/>
      </syntax>
    </parameter>

    <parameter name="Silent" access="readWrite" version="2.15">
      <description>
        An optional input, if true then this is a request for a Silent
        Disassociate, whereby the AP is to remove the station from its list of
        associated devices without sending a message to the station.

        If this input in not provided, then a value of {{false}} is assumed.
      </description>
      <syntax>
        <boolean/>
      </syntax>
    </parameter>
  </component>

  <component name="OpClassChannels">

    <parameter name="OpClass" access="readOnly" version="2.15">
      <description>
        The Operating Class per {{bibref|802.11-2020|Table E-4}} For 2.4GHz and
        5GHz bands, only 20MHz Operating Classes are valid.

        Note that the operating class identifies the band and channel width.
      </description>
      <syntax>
        <unsignedInt>
          <range maxInclusive="255"/>
        </unsignedInt>
      </syntax>
    </parameter>

    <parameter name="ChannelList" access="readOnly">
      <description>
        {{list}} The channel numbers in this Operating Class for which the
        capability is being described.
      </description>
      <syntax>
        <list/>
        <unsignedInt>
          <range maxInclusive="255"/>
        </unsignedInt>
      </syntax>
    </parameter>
  </component>

  <component name="MandatoryOpClassChannels">

    <parameter name="OpClass" mandatory="true" access="readOnly"
        version="2.15">
      <description>
        The Operating Class per {{bibref|802.11-2020|Table E-4}} For 2.4GHz and
        5GHz bands, only 20MHz Operating Classes are valid.

        Note that the operating class identifies the band and channel width.
      </description>
      <syntax>
        <unsignedInt>
          <range maxInclusive="255"/>
        </unsignedInt>
      </syntax>
    </parameter>

    <parameter name="ChannelList" mandatory="true" access="readOnly">
      <description>
        The channel numbers in this Operating Class for which the capability is
        being described.
      </description>
      <syntax>
        <list/>
        <unsignedInt>
          <range maxInclusive="255"/>
        </unsignedInt>
      </syntax>
    </parameter>
  </component>

  <component name="WiFi6">

    <parameter name="HE160" access="readOnly" version="2.15">
      <description>
        Indicates support for High Efficiency (HE) 160 MHz.
      </description>
      <syntax>
        <boolean/>
      </syntax>
    </parameter>

    <parameter name="HE8080" access="readOnly" version="2.15">
      <description>
        Indicates support for HE 80+80 MHz.
      </description>
      <syntax>
        <boolean/>
      </syntax>
    </parameter>

    <parameter name="MCSNSS" access="readOnly" version="2.15">
      <description>
        Supported High Efficiency-Modulation and Coding Scheme (HE-MCS) and
        Number of Spatial Streams (NSS) Set field as defined in
        {{bibref|802.11ax|Figure 9-788d}} Supported HE-MCS And NSS Set field
        format. HE-MCS And NSS Set field for 160MHz is present if 160MHz is
        supported. HE-MCS And NSS Set field for 80+80MHz is present if 80+80MHz
        is supported.
      </description>
      <syntax>
        <base64>
          <size minLength="4" maxLength="12"/>
        </base64>
      </syntax>
    </parameter>

    <parameter name="SUBeamformer" access="readOnly" version="2.15">
      <description>
        Indicates support for Single-User (SU) Beamformer.
      </description>
      <syntax>
        <boolean/>
      </syntax>
    </parameter>

    <parameter name="SUBeamformee" access="readOnly" version="2.15">
      <description>
        Indicates support for SU Beamformee.
      </description>
      <syntax>
        <boolean/>
      </syntax>
    </parameter>

    <parameter name="MUBeamformer" access="readOnly" version="2.15">
      <description>
        Indicates support for Multi-User (MU) Beamformer.
      </description>
      <syntax>
        <boolean/>
      </syntax>
    </parameter>

    <parameter name="Beamformee80orLess" access="readOnly" version="2.15">
      <description>
        Indicates support for Beamformee Space-Time Stream (STS) ≤ 80 MHz.
      </description>
      <syntax>
        <boolean/>
      </syntax>
    </parameter>

    <parameter name="BeamformeeAbove80" access="readOnly" version="2.15">
      <description>
        Indicates support for Beamformee STS &gt; 80 MHz.
      </description>
      <syntax>
        <boolean/>
      </syntax>
    </parameter>

    <parameter name="ULMUMIMO" access="readOnly" version="2.15">
      <description>
        Indicates support for Uplink (UL) Multi-User Multiple Input, Multiple
        Output (MU-MIMO).
      </description>
      <syntax>
        <boolean/>
      </syntax>
    </parameter>

    <parameter name="ULOFDMA" access="readOnly" version="2.15">
      <description>
        Indicates support for UL Orthogonal Frequency Division Multiplexing
        (OFDMA).
      </description>
      <syntax>
        <boolean/>
      </syntax>
    </parameter>

    <parameter name="MaxDLMUMIMO" access="readOnly" version="2.15">
      <description>
        Max number of users supported per DL MU-MIMO Transmitter (TX) in an AP
        role.
      </description>
      <syntax>
        <unsignedInt>
          <range maxInclusive="255"/>
        </unsignedInt>
      </syntax>
    </parameter>

    <parameter name="MaxULMUMIMO" access="readOnly" version="2.15">
      <description>
        Max number of users supported per UL MU-MIMO Receiver (RX) in an AP
        role.
      </description>
      <syntax>
        <unsignedInt>
          <range maxInclusive="255"/>
        </unsignedInt>
      </syntax>
    </parameter>

    <parameter name="MaxDLOFDMA" access="readOnly" version="2.15">
      <description>
        Max number of users supported per Downlink (DL) OFDMA TX in an AP role.
      </description>
      <syntax>
        <unsignedInt>
          <range maxInclusive="255"/>
        </unsignedInt>
      </syntax>
    </parameter>

    <parameter name="MaxULOFDMA" access="readOnly" version="2.15">
      <description>
        Max number of users supported per UL OFDMA RX in an AP role.
      </description>
      <syntax>
        <unsignedInt>
          <range maxInclusive="255"/>
        </unsignedInt>
      </syntax>
    </parameter>

    <parameter name="RTS" access="readOnly" version="2.15">
      <description>
        Indicates support for Request To Send (RTS).
      </description>
      <syntax>
        <boolean/>
      </syntax>
    </parameter>

    <parameter name="MURTS" access="readOnly" version="2.15">
      <description>
        Indicates support for MU RTS.
      </description>
      <syntax>
        <boolean/>
      </syntax>
    </parameter>

    <parameter name="MultiBSSID" access="readOnly" version="2.15">
      <description>
        Indicates support for Multi-Basic Service Set Identifier (BSSID).
      </description>
      <syntax>
        <boolean/>
      </syntax>
    </parameter>

    <parameter name="MUEDCA" access="readOnly" version="2.15">
      <description>
        Indicates support for MU Enhanced distributed channel access (EDCA).
      </description>
      <syntax>
        <boolean/>
      </syntax>
    </parameter>

    <parameter name="TWTRequestor" access="readOnly" version="2.15">
      <description>
        Indicates support for Target Wake Time (TWT) Requestor.
      </description>
      <syntax>
        <boolean/>
      </syntax>
    </parameter>

    <parameter name="TWTResponder" access="readOnly" version="2.15">
      <description>
        Indicates support for TWT Responder.
      </description>
      <syntax>
        <boolean/>
      </syntax>
    </parameter>

    <parameter name="SpatialReuse" access="readOnly" version="2.15">
      <description>
        Indicates support for EasyMesh configuration and reporting of BSS Color
        and Spatial Reuse.
      </description>
      <syntax>
        <boolean/>
      </syntax>
    </parameter>

    <parameter name="AnticipatedChannelUsage" access="readOnly" version="2.15">
      <description>
        Indicates support for Anticipated Channel Usage (ACU) reporting.
      </description>
      <syntax>
        <boolean/>
      </syntax>
    </parameter>

  </component>

  <component name="AKMSuite">

    <parameter name="OUI" access="readOnly" version="2.15">
      <description>
        Any Organizationally Unique Identifier (OUI) value specified in
        {{bibref|802.11-2020|Table 9-151}}).
      </description>
      <syntax>
        <base64/>
      </syntax>
    </parameter>

    <parameter name="Type" access="readOnly">
      <description>
        Any suite type value specified in {{bibref|802.11-2020|Table 9-151}}.
      </description>
      <syntax>
        <unsignedInt>
          <range maxInclusive="255"/>
        </unsignedInt>
      </syntax>
    </parameter>
  </component>

  <component name="SSIDVID">

    <parameter name="SSID" access="readOnly" version="2.15">
      <description>
        The SSID.
      </description>
      <syntax>
        <string>
          <size maxLength="64"/>
        </string>
      </syntax>
    </parameter>

    <parameter name="VID" access="readOnly" version="2.15">
      <description>
        The VLAN ID (VID).
      </description>
      <syntax>
        <unsignedInt>
          <range maxInclusive="4095"/>
        </unsignedInt>
      </syntax>
    </parameter>
  </component>

  <component name="SPRule">
    <parameter name="ID" access="readOnly" version="2.15">
      <description>
        Service prioritization rule Identifier.
      </description>
      <syntax>
        <unsignedInt/>
      </syntax>
    </parameter>

    <parameter name="Precedence" access="readOnly" version="2.15">
      <description>
        Rule Precedence – higher number means higher priority.
      </description>
      <syntax>
        <unsignedInt>
          <range maxInclusive="254"/>
        </unsignedInt>
      </syntax>
    </parameter>

    <parameter name="Output" access="readOnly" version="2.15">
      <description>
        Rule Output. The value of, or method used to select, the 802.1Q C-TAG
        Priority Code Point (PCP) output value.
      </description>
      <syntax>
        <unsignedInt>
          <range maxInclusive="9"/>
        </unsignedInt>
      </syntax>
    </parameter>

    <parameter name="AlwaysMatch" access="readOnly" version="2.15">
      <description>
        Indicates if the rule always matches.
      </description>
      <syntax>
        <boolean/>
      </syntax>
    </parameter>
  </component>

  <component name="SpatialReuse">

    <parameter name="BSSColor" access="readOnly">
      <description>
        The value of the BSS Color subfield of the
        HEOperations.BSSColorInformation field being transmitted by BSSs
        operating on this radio. (EasyMesh TLV Field: BSS Color)
      </description>
      <syntax>
        <unsignedInt/>
      </syntax>
    </parameter>

    <parameter name="HESIGASpatialReuseValue15Allowed" access="readOnly">
      <description>
        Indicates if the Agent is allowed to set HESIGA.SpatialReuse field to
        value 15 (PSR_AND_NON_SRG_OBSS_PD_PROHIBITED) in HE PPDU transmissions
        of this radio. (EasyMesh TLV Field:
        HESIGA_Spatial_reuse_value15_allowed)

        : {{true}}: allowed;

        : {{false}}: disallowed.
      </description>
      <syntax>
        <boolean/>
      </syntax>
    </parameter>

    <parameter name="SRGInformationValid" access="readOnly">
      <description>
        This field indicates whether the SRG Information fields (SRG OBSS PD
        Min Offset, SRG OBSS PD Max Offset, SRG BSS Color Bitmap and SRG
        Partial BSSID Bitmap) in this command are valid. (EasyMesh TLV Field:
        SRG Information Valid)

        : {{true}}: SRG Information fields valid;

        : {{false}}: SRG Information fields not valid.
      </description>
      <syntax>
        <boolean/>
      </syntax>
    </parameter>

    <parameter name="NonSRGOffsetValid" access="readOnly">
      <description>
        This field indicates whether the Non-SRG OBSSPD Max Offset field in
        this command is valid. (EasyMesh TLV Field: Non-SRG Offset Valid)

        : {{true}}: Non-SRG Max Offset field valid;

        : {{false}}: Non-SRG Max Offset field not valid.
      </description>
      <syntax>
        <boolean/>
      </syntax>
    </parameter>

    <parameter name="PSRDisallowed" access="readOnly">
      <description>
        Indicates if the Agent is disallowed to use Parameterized Spatial Reuse
        (PSR)-based Spatial Reuse for transmissions by the specified radio.
        (EasyMesh TLV Field: PSR Disallowed)

        : {{true}}: PSR disallowed;

        : {{false}}: PSR allowed.
      </description>
      <syntax>
        <boolean/>
      </syntax>
    </parameter>

    <parameter name="NonSRGOBSSPDMaxOffset" access="readOnly">
      <description>
        The value of dot11NonSRGAPOBSSPDMaxOffset (i.e the Non-SRG OBSSPD Max
        Offset value being used to control the transmissions of the specified
        radio). (EasyMesh TLV Field: Non-SRG OBSSPD Max Offset)

        This field is valid only if {{param|NonSRGOffsetValid}} is {{true}}.
      </description>
      <syntax>
        <unsignedInt/>
      </syntax>
    </parameter>

    <parameter name="SRGOBSSPDMinOffset" access="readOnly">
      <description>
        The value of dot11SRGAPOBSSPDMinOffset (i.e. the SRG OBSSPD Min Offset
        value being used to control the transmissions of the specified radio).
        (EasyMesh TLV Field: SRG OBSSPD Min Offset)

        This field is valid only if {{param|SRGInformationValid}} is {{true}}.
      </description>
      <syntax>
        <unsignedInt/>
      </syntax>
    </parameter>

    <parameter name="SRGOBSSPDMaxOffset" access="readOnly">
      <description>
        The value of dot11SRGAPOBSSPDMaxOffset (i.e. the SRG OBSSPD Max Offset
        value being used to control the transmissions of the specified radio).
        (EasyMesh TLV Field: SRG OBSSPD Max Offset)

        This field is valid only if {{param|SRGInformationValid}} is {{true}}.
      </description>
      <syntax>
        <unsignedInt/>
      </syntax>
    </parameter>

    <parameter name="SRGBSSColorBitmap" access="readOnly">
      <description>
        The value of dot11SRGAPBSSColorBitmap (i.e. the SRG BSS Color Bitmap
        being used to control the tranmissions of the specified radio).
        (EasyMesh TLV Field: SRG BSS Color Bitmap)

        This field is valid only if {{param|SRGInformationValid}} is {{true}}.
      </description>
      <syntax>
        <hexBinary>
          <size minLength="8" maxLength="8"/>
        </hexBinary>
      </syntax>
    </parameter>

    <parameter name="SRGPartialBSSIDBitmap" access="readOnly">
      <description>
        The value of dot11SRGAPBSSIDBitmap (i.e. the SRG Partial BSSID Color
        Bitmap being used to control the transmissions of the specified radio).
        (EasyMesh TLV Field: SRG Partial BSSID Bitmap)

        This field is valid only if {{param|SRGInformationValid}} is {{true}}.

        Note: See rules in section 26.10.2.3 of [17] regarding the members of
        an SRG.
      </description>
      <syntax>
        <hexBinary>
          <size minLength="8" maxLength="8"/>
        </hexBinary>
      </syntax>
    </parameter>

  </component>

  <component name="WiFiAllianceDataElements">

    <object name="Device.WiFi.DataElements." access="readOnly" minEntries="1"
        maxEntries="1" version="2.13">
      <description>
        This object represents the Wi-Fi Alliance Data Elements as defined in
        {{bibref|DataElements}} with extended capabilities in additional
        objects whose names begin with MultiAP.
      </description>
    </object>

    <object name="Device.WiFi.DataElements.Network." access="readOnly"
        minEntries="1" maxEntries="1" version="2.13">
      <description>
        This object describes a Wi-Fi network containing 1 or more Access Point
        (AP) devices.
      </description>

      <parameter name="ID" access="readOnly">
        <description>
          A unique identifier for this particular Wi-Fi network.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="TimeStamp" access="readOnly">
        <description>
          The time this group was collected. Formatted with the date-and-time
          string format as defined in {{bibref|RFC3339|Section 3}}.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="ControllerID" access="readOnly">
        <description>
          A unique identifier for a Multi-AP controller.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="DeviceNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MSCSDisallowedStaList" access="readOnly" version="2.15">
        <description>
          List of STAs for which Mirrored Stream Classification Service (MSCS)
          operation is disallowed.
        </description>
        <syntax>
          <list/>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="SCSDisallowedStaList" access="readOnly" version="2.15">
        <description>
          List of STAs for which Stream Classification Service (SCS) operation
          is disallowed.
        </description>
        <syntax>
          <list/>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="SSIDNumberOfEntries" access="readOnly" version="2.15">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

    </object>

    <object name="Device.WiFi.DataElements.Network.SSID.{i}."
        access="readOnly" numEntriesParameter="SSIDNumberOfEntries"
        minEntries="0" maxEntries="unbounded" version="2.15">
      <description>
        This object specifies SSIDs for fronthaul use across all agents in this
        Wi-Fi Multi-AP network, or on this single-AP. Also specifies the
        {{param|Band}} for each {{param|SSID}}.
      </description>
      <uniqueKey functional="false">
        <parameter ref="SSID"/>
      </uniqueKey>

      <parameter name="SSID" access="readOnly">
        <description>
          The SSID for fronthaul use across this Wi-Fi Multi-AP network.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

     <parameter name="Band" access="readOnly">
        <description>
          The band(s) (GHz) for which this {{param|SSID}} applies. {{enum}}
        </description>
        <syntax>
          <list/>
          <string>
              <enumeration value="All">
                <description>Applies to all bands</description>
              </enumeration>
              <enumeration value="2.4">
                <description>2.4 GHz band</description>
              </enumeration>
              <enumeration value="5">
                <description>The entire 5 GHz band</description>
              </enumeration>
              <enumeration value="6">
                <description>The entire 6 GHz band</description>
              </enumeration>
              <enumeration value="5_UNII_1">
                <description>5 GHz UNII-1 band, 5.15 to 5.25 GHz</description>
              </enumeration>
              <enumeration value="5_UNII_2">
                <description>5 GHz UNII-2 band, 5.25 to 5.725 GHz</description>
              </enumeration>
              <enumeration value="5_UNII_3">
                <description>5 GHz UNII-3 band, 5.725 to 5.85 GHz</description>
              </enumeration>
              <enumeration value="5_UNII_4">
                <description>5 GHz UNII-4 band, 5.85 to 5.925 GHz</description>
              </enumeration>
              <enumeration value="6_UNII_5">
                <description>
                  6 GHz UNII-5 band, 5.925 to 6.425 GHz
                </description>
              </enumeration>
              <enumeration value="6_UNII_6">
                <description>
                  6 GHz UNII-6 band, 6.425 to 6.525 GHz
                </description>
              </enumeration>
              <enumeration value="6_UNII_7">
                <description>
                  5 GHz UNII-7 band, 6.525 to 6.875 GHz
                </description>
              </enumeration>
              <enumeration value="6_UNII_8">
                <description>
                  5 GHz UNII-8 band, 6.875 to 7.125 GHz
                </description>
              </enumeration>
          </string>
        </syntax>
      </parameter>

    </object>

    <object
        name="Device.WiFi.DataElements.Network.MultiAPSteeringSummaryStats."
        access="readOnly" minEntries="1" maxEntries="1" version="2.15">
      <description>
        The summary of statistics related to Multi-AP Steering for the Wi-Fi
        network.

        The counters contained in {{object}} are all reset on reboot.
      </description>

      <parameter name="NoCandidateAPFailures" access="readOnly">
        <description>
          Number of times Associated Devices should have been steered but
          weren't because a better candidate AP couldn't be found.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BlacklistAttempts" access="readOnly">
        <description>
          Number of times a Blacklist steer was attempted.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BlacklistSuccesses" access="readOnly">
        <description>
          Number of times an attempted Blacklist steer succeeded.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BlacklistFailures" access="readOnly">
        <description>
          Number of times an attempted Blacklist steer failed.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BTMAttempts" access="readOnly">
        <description>
          Number of times a BTM (BSS Transition Management; {{bibref|802.11k}})
          steer was attempted.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BTMSuccesses" access="readOnly">
        <description>
          Number of times an attempted BTM (BSS Transition Management;
          {{bibref|802.11k}}) steer succeeded.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BTMFailures" access="readOnly">
        <description>
          Number of times an attempted BTM (BSS Transition Management;
          {{bibref|802.11k}}) steer failed.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BTMQueryResponses" access="readOnly">
        <description>
          Number of asynchronous BTM (BSS Transition Management;
          {{bibref|802.11k}}) Queries for which a BTM Request was issued.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.WiFi.DataElements.Network.Device.{i}."
        access="readOnly" numEntriesParameter="DeviceNumberOfEntries"
        minEntries="0" maxEntries="unbounded" version="2.13">
      <description>
        Each instance of this object represents an individual Access Point
        device in the Wi-Fi network.
      </description>
      <uniqueKey>
        <parameter ref="ID"/>
      </uniqueKey>

      <parameter name="ID" access="readOnly">
        <description>
          A unique identifier for this particular device within the Wi-Fi
          network as defined in {{bibref|DataElements|Section 3.1}}.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="MultiAPCapabilities" access="readOnly">
        <description>
          The Multi-AP capabilities supported by this device as defined by the
          APCapability TLV in {{bibref|EasyMesh|Section 17.2.6}}.
        </description>
        <syntax>
          <base64>
            <size minLength="1" maxLength="1"/>
          </base64>
        </syntax>
      </parameter>

      <parameter name="CollectionInterval" access="readOnly">
        <description>
          The interval between the collection of consecutive measurements of
          the most frequently updated Data Element from this device in
          {{units}}.
        </description>
        <syntax>
          <unsignedInt>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ReportUnsuccessfulAssociations" access="readWrite"
          version="2.15">
        <description>
          Indicates whether the Multi-AP Agent or the single AP reports
          unsuccessful association attempts of client Stations (STAs) to the
          Multi-AP Controller.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="MaxReportingRate" access="readOnly" version="2.15">
        <description>
          Maximum rate for reporting unsuccessful association attempts in
          {{units}}.
        </description>
        <syntax>
          <unsignedInt>
            <units value="attempts per minute"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="APMetricsReportingInterval" access="readWrite"
          version="2.15">
        <description>
          AP Metrics Reporting Interval.

          : 0: Do not report AP Metrics periodically;

          : 1 – 255: AP Metrics reporting interval in {{units}}.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Manufacturer" access="readOnly" version="2.15">
        <description>
          Identifier of the manufacturer of the device.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="SerialNumber" access="readOnly" version="2.15">
        <description>
          Identifier of the particular Access Point device that is unique for
          the indicated model and manufacturer.

          This value MUST remain fixed over the lifetime of the device,
          including across firmware updates.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="ManufacturerModel" access="readOnly" version="2.15">
        <description>
          Identifier of the manufacturer model to help the user more easily
          identify a particular piece of equipment.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="SoftwareVersion" access="readOnly" version="2.15">
        <description>
          Identifier of the software version currently installed in the Access
          Point device (i.e. version of the overall firmware).
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="ExecutionEnv" access="readOnly" version="2.15">
        <description>
          Identifier of the execution environment (operating system) in the
          device. This parameter can be an entry in the table
          {{object|Device.SoftwareModules.ExecEnv.{i}.}}.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="DSCPMap" access="readOnly" version="2.15">
        <description>
          A hexadecimal string of 64 Priority Code Point (PCP) values (one
          octet per value) corresponding to the Differentiated Services Code
          Point (DSCP) markings 0x00 to 0x3F, ordered by increasing DSCP value.
          Each octet is in the range 0x00 – 0x07. This is used to select a PCP
          value if a Service Prioritization Rule specifies Rule Output: 0x08
        </description>
        <syntax>
          <hexBinary>
            <size maxLength="64"/>
          </hexBinary>
        </syntax>
      </parameter>

      <parameter name="MaxPrioritizationRules" access="readOnly"
          version="2.15">
        <description>
          The maximum total number of service prioritization rules supported by
          the Agent.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="PrioritizationSupport" access="readOnly" version="2.15">
        <description>
          Indicates support for Service Prioritization.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="MaxVIDs" access="readOnly" version="2.15">
        <description>
          Max Total Number of unique VLAN IDs (VIDs) the Multi-AP Agent
          supports.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="APMetricsWiFi6" access="readOnly" version="2.15">
        <description>
          Associated Wi-Fi6 STA Status Inclusion Policy.

          : {{true}}: Include Associated Wi-Fi6 STA Status TLV in AP Metrics
            Response.

          : {{false}}: Do not include Associated Wi-Fi6 STA Status TLV [3] in
            AP Metrics Response.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="CountryCode" access="readOnly" version="2.15">
        <description>
          Two-character country code in which the Multi-AP Agent is operating
          according to {{bibref|ISO3166-1}}. The characters are encoded as
          UTF-8.
        </description>
        <syntax>
          <string>
            <size minLength="2" maxLength="2"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LocalSteeringDisallowedSTAList" access="readWrite"
          version="2.15">
        <description>
          {{list}} The STAs for which local steering is disallowed.
        </description>
        <syntax>
          <list/>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="BTMSteeringDisallowedSTAList" access="readWrite"
          version="2.15">
        <description>
          {{list}} The STAs for which BSS Transition Management (BTM) steering
          is disallowed.
        </description>
        <syntax>
          <list/>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="DFSEnable" access="readOnly" version="2.15">
        <description>
          Indicates if Dynamic Frequency Selection (DFS) is enabled or
          disabled.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="ReportIndependentScans" access="readWrite"
          version="2.15">
        <description>
          Channel Scan Reporting Policy, Report Independent Channel Scans

          : {{true}}: report Independent Channel Scans,

          : {{false}}: do not report Independent Channel Scans unless
            explicitly requested in a Channel Scan Request.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="AssociatedSTAinAPMetricsWiFi6" access="readWrite"
          version="2.15">
        <description>
          For EasyMesh {{bibref|EasyMesh}}, this is the Associated Wi-Fi6 STA
          Status Inclusion Policy.

          : {{true}}: Include Associated Wi-Fi6 STA Status TLV in AP Metrics
            Response;

          : {{false}}: Do not include Associated Wi-Fi6 STA Status TLV in AP
            Metrics Response.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="MaxUnsuccessfulAssociationReportingRate"
          access="readWrite" version="2.15">
        <description>
          For EasyMesh {{bibref|EasyMesh}}, this is the maximum rate for
          reporting unsuccessful association attempts (in attempts per
          {{units}}).
        </description>
        <syntax>
           <unsignedInt>
            <units value="minutes"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="STASteeringState" access="readOnly" version="2.15">
        <description>
          Indicates if EasyMesh {{bibref|EasyMesh}} controller-initiated
          station steering is disallowed or allowed on this device.

          : {{true}}: EasyMesh controller-initiated station steering
            disallowed;

          : {{false}}: EasyMesh controller-initiated station steering allowed.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="CoordinatedCACAllowed" access="readWrite"
          version="2.15">
        <description>
          Allow or disallow the use of EasyMesh {{bibref|EasyMesh}} Coordinated
          Channel Availability Check (CAC) on this device.

          : {{true}}: allowed;

          : {{false}}: disallowed.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="TrafficSeparationAllowed" access="readOnly"
          version="2.15">
        <description>
          This parameter indicates if EasyMesh traffic separation
          {{bibref|EasyMesh|Section 19.1}} is allowed or disallowed.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="ServicePrioritizationAllowed" access="readOnly"
          version="2.15">
        <description>
          This parameter indicates if EasyMesh service prioritization
          {{bibref|EasyMesh|Section 20}} is allowed or disallowed.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="RadioNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="Default8021QNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SSIDtoVIDMappingNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CACStatusNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="IEEE1905SecurityNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SPRuleNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AnticipatedChannelsNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AnticipatedChannelUsageNumberOfEntries"
          access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.Default8021Q.{i}."
        access="readWrite" numEntriesParameter="Default8021QNumberOfEntries"
        enableParameter="Enable" minEntries="0" maxEntries="unbounded"
        version="2.15">
      <description>
        The default 802.1Q settings for EasyMesh service prioritization
        {{bibref|EasyMesh}}.
      </description>
      <uniqueKey>
        <parameter ref="PrimaryVID"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables default 802.1Q settings.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="PrimaryVID" access="readWrite">
        <description>
          The primary 802.1Q C-TAG (VLAN ID).
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="4095"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="DefaultPCP" access="readWrite">
        <description>
          The default Priority Code Point (PCP).
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="7"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.SSIDtoVIDMapping.{i}."
        access="readOnly" numEntriesParameter="SSIDtoVIDMappingNumberOfEntries"
        minEntries="0" maxEntries="unbounded" version="2.15">
      <description>
        The Service Set Identifier (SSID) to VLAN ID mapping for EasyMesh
        traffic separation {{bibref|EasyMesh}}.
      </description>
      <uniqueKey>
        <parameter ref="SSID"/>
      </uniqueKey>

      <component ref="SSIDVID"/>
    </object>

    <object name="Device.WiFi.DataElements.Network.Device.{i}.CACStatus.{i}."
        access="readOnly" numEntriesParameter="CACStatusNumberOfEntries"
        minEntries="0" maxEntries="unbounded" version="2.15">
      <description>
        Latest Channel Availability Check (CAC) Status Report from the device.
      </description>
      <uniqueKey>
        <parameter ref="TimeStamp"/>
      </uniqueKey>

      <parameter name="TimeStamp" access="readOnly">
        <description>
          The time this group was collected.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="CACAvailableChannelNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CACNonOccupancyChannelNumberOfEntries"
          access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CACActiveChannelNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.CACStatus.{i}.CACAvailableChannel.{i}."
        access="readOnly"
        numEntriesParameter="CACAvailableChannelNumberOfEntries" minEntries="0"
        maxEntries="unbounded" version="2.15">
        <description>
          This object describes available channels identified by Channel
          Availability Check (CAC).
        </description>
      <uniqueKey>
        <parameter ref="OpClass"/>
      </uniqueKey>

      <parameter name="OpClass" access="readOnly">
        <description>
          Operating class of an available channel, from
          {{bibref|802.11-2020|Table E-4}}.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Channel" access="readOnly">
        <description>
          Single channel number of an available channel in the given operating
          class.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Minutes" access="readOnly">
        <description>
          {{units}} since CAC was completed identifying available channel.
          Equals zero for non-DFS channels.
        </description>
          <syntax>
          <unsignedInt>
            <range maxInclusive="65535"/>
            <units value="Minutes"/>
          </unsignedInt>
        </syntax>
      </parameter>

    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.CACStatus.{i}.CACNonOccupancyChannel.{i}."
        access="readOnly"
        numEntriesParameter="CACNonOccupancyChannelNumberOfEntries"
        minEntries="0" maxEntries="unbounded" version="2.15">
        <description>
          This object describes channels identified by Channel Availability Check
          (CAC) that may not be occupied.
        </description>
      <uniqueKey>
        <parameter ref="OpClass"/>
      </uniqueKey>

      <parameter name="OpClass" access="readOnly">
        <description>
          Operating class of a channel that is in the non-occupancy list, from
          {{bibref|802.11-2020|Table E-4}}.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Channel" access="readOnly">
        <description>
          Single channel number in the operating class on which the radar was
          detected.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Seconds" access="readOnly">
        <description>
          {{units}} remaining in the non-occupancy duration for the channel
          specified by the operating class and channel pair.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="65535"/>
            <units value="Seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.CACStatus.{i}.CACActiveChannel.{i}."
        access="readOnly" numEntriesParameter="CACActiveChannelNumberOfEntries"
        minEntries="0" maxEntries="unbounded" version="2.15">
      <description>
        This object describes channels with ongoing Channel Availability Check
        (CAC).
      </description>
      <uniqueKey>
        <parameter ref="OpClass"/>
      </uniqueKey>

      <parameter name="OpClass" access="readOnly">
        <description>
          Operating class of a channel that has ongoing CAC, from
          {{bibref|802.11-2020|Table E-4}}.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Channel" access="readOnly">
        <description>
          Single channel number in the operating class that has an ongoing CAC.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Countdown" access="readOnly">
        <description>
          {{units}} remaining to complete the CAC.
        </description>
        <syntax>
          <unsignedInt>
            <units value="Seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

    </object>

    <object name="Device.WiFi.DataElements.Network.Device.{i}.SPRule.{i}."
        access="readOnly" numEntriesParameter="SPRuleNumberOfEntries"
        minEntries="0" maxEntries="unbounded" version="2.15">
      <description>
        This object describes a list of service prioritization (SP) rules
        {{bibref|EasyMesh}}.
      </description>
      <uniqueKey>
        <parameter ref="ID"/>
      </uniqueKey>

      <component ref="SPRule"/>

    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.IEEE1905Security.{i}."
        access="readOnly" numEntriesParameter="IEEE1905SecurityNumberOfEntries"
        minEntries="0" maxEntries="unbounded" version="2.15">
      <description>
        This object describes the IEEE 1905 security capabilities.
      </description>
      <uniqueKey functional="false">
        <parameter ref="OnboardingProtocol"/>
      </uniqueKey>

      <parameter name="OnboardingProtocol" access="readOnly">
        <description>
          Onboarding protocols supported;

          :0: 1905 Device.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="IntegrityAlgorithm" access="readOnly">
        <description>
          Message integrity algorithms supported.

          : 0: HMAC-SHA256.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EncryptionAlgorithm" access="readOnly">
        <description>
          Message encryption algorithms supported.

          : 0: AES-SIV.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.AnticipatedChannels.{i}."
        access="readOnly"
        numEntriesParameter="AnticipatedChannelsNumberOfEntries" minEntries="0"
        maxEntries="unbounded" version="2.15">
      <description>
        This object contains a table of Wi-Fi 6 {{bibref|802.11ax}} operating
        classes, and channels within those operating classes, which have
        anticipated channel preference.

        Operating Class contains an enumerated value from
        {{bibref|802.11-2020|Table E-4}}}.
      </description>
      <uniqueKey>
        <parameter ref="OpClass"/>
      </uniqueKey>

      <parameter name="OpClass" access="readOnly" version="2.15">
        <description>
          The Operating Class per {{bibref|802.11-2020|Table E-4}}.

          Note that the operating class identifies the band and channel width.
          This changed from readOnly to readWrite in version 2.15.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ChannelList" access="readOnly" version="2.15">
        <description>
          {{list}} The channel numbers in this Operating Class.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.AnticipatedChannelUsage.{i}."
        access="readOnly"
        numEntriesParameter="AnticipatedChannelUsageNumberOfEntries"
        minEntries="0" maxEntries="unbounded" version="2.15">
      <description>
        This object reports Wi-Fi 6 {{bibref|802.11ax}} anticipated medium
        usage on channels (and subsets of those channels) on which the device
        is operating.
      </description>
      <uniqueKey>
        <parameter ref="OpClass"/>
      </uniqueKey>

      <parameter name="OpClass" access="readOnly">
        <description>
          The operating class per {{bibref|802.11-2020|Table E-4}}.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Channel" access="readOnly">
        <description>
          The channel number in the given operating class of the channel on
          which the anticipated channel usage is reported.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ReferenceBSSID" access="readOnly">
        <description>
          Reference BSSID. Start Time values in this object are referenced to
          the Time Sync Function (TSF) timer value indicated in the Timestamp
          field in Beacon frames transmitted by this BSSID on the channel.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="EntryNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.AnticipatedChannelUsage.{i}.Entry.{i}."
        access="readOnly" numEntriesParameter="EntryNumberOfEntries"
        minEntries="0" maxEntries="unbounded" version="2.15">
      <description>
        This object reports an entry for anticipated channel usage
        {{bibref|802.11ax}}.
      </description>
      <uniqueKey>
        <parameter ref="BurstStartTime"/>
      </uniqueKey>

      <parameter name="BurstStartTime" access="readOnly">
        <description>
          Least significant 4 octets of the TSF timer of the Reference BSSID,
          at the start of the anticipated first burst of channel usage.

          Note: a burst is a continuous or quasi-continuous period of channel
          usage. For IEEE 802.11 transmissions, a burst might comprise only one
          PPDU, or multiple closely spaced PPDUs.
        </description>
        <syntax>
          <hexBinary>
            <size minLength="4" maxLength="4"/>
          </hexBinary>
        </syntax>
      </parameter>

      <parameter name="BurstLength" access="readOnly">
        <description>
          Duration of each burst of channel usage in {{units}}.
        </description>
        <syntax>
          <unsignedInt>
            <units value="microseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Repetitions" access="readOnly">
        <description>
          Number of repetitions of the burst of channel usage;

          : 0 = single burst,

          : 2^32-1 = indefinite/unknown.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BurstInterval" access="readOnly">
        <description>
          Interval between two successive bursts of channel usage in {{units}};
          set to zero if {{param|Repetitions}} is zero.
        </description>
        <syntax>
          <unsignedInt>
            <units value="microseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="RUBitmask" access="readOnly">
        <description>
          Bitmask of 26-tone Resource Units (RUs) defined in
          {{bibref|802.11ax|Section 27.3.2.2}}, where the (i-1)th bit position
          is set to one if the nominal bandwidth of the channel usage
          corresponding to this entry fully or partially overlaps with the RUi,
          and is otherwise set to zero.
        </description>
        <syntax>
          <hexBinary>
            <size minLength="2" maxLength="10"/>
          </hexBinary>
        </syntax>
      </parameter>

      <parameter name="TransmitterIdentifier" access="readOnly">
        <description>
          One of:

          : MAC address: if the entry corresponds to channel usage by a single
            client STA associated to an AP of the Agent;

          : BSSID: if the entry corresponds to channel usage by multiple or
            unspecified client STAs associated to an AP of the Agent;

          : BSS Color: (first 42-bits are zero) if the channel usage is caused
            by a source external to the BSSs operated by the Agent and the
            BSSID can’t be decoded (since frame sent at high MCS) but the BSS
            Color in the PHY headers could still be identified;

          : Zero: if the channel usage is caused by a source external to the
            BSSs operated by the Agent.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="PowerLevel" access="readOnly">
        <description>
          Indicates maximum transmit power during each channel usage burst in
          {{units}}; equal to 255 when unknown or when the entry corresponds to
          multiple transmitters with different transmit powers
        </description>
        <syntax>
          <int>
            <units value="dBm"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="ChannelUsageReason" access="readOnly">
        <description>
          The reason for this anticipated channel usage. {{enum}}
        </description>
        <syntax>
          <string>
            <enumeration value="TWT_schedule"/>
            <enumeration value="TSPEC">
              <description>
                TSPEC or other traffic stream with predictable characteristics.
              </description>
            </enumeration>
            <enumeration value="Scheduler_policy">
              <description>
                Scheduler policy (if uplink, using Wi-Fi 6 trigger-based
                scheduling).
              </description>
            </enumeration>
            <enumeration value="IEEE_802.11">
              <description>
                IEEE 802.11 transmitter external to the BSSs operated by the
                reporting Agent.
              </description>
            </enumeration>
            <enumeration value="Non_IEEE_802.11">
              <description>Non-IEEE 802.11, or unknown source.</description>
            </enumeration>
            <enumeration value="BSS_non_usage">
              <description>
                BSS non-usage (in this special case, a burst is defined as a
                continuous period in which the Agent ensures no transmissions
                by any of its BSSs on the channel).
              </description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

    </object>

    <object name="Device.WiFi.DataElements.Network.Device.{i}.MultiAPDevice."
        access="readOnly" minEntries="1" maxEntries="1" version="2.15">
      <description>
        This object represents an individual Access Point device.
      </description>

      <parameter name="ManufacturerOUI" access="readOnly">
        <description>
          Organizationally unique identifier of the Access Point device
          manufacturer. Represented as a six hexadecimal-digit value using all
          upper-case letters and including any leading zeros. {{pattern}}

          The value MUST be a valid OUI as defined in {{bibref|OUI}}.

          This value MUST remain fixed over the lifetime of the device,
          including across firmware updates.
        </description>
        <syntax>
          <string>
            <size minLength="6" maxLength="6"/>
            <pattern value="[0-9A-F]{6}"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LastContactTime" access="readOnly">
        <description>
          The last time that the Access Point device was contacted via the
          Multi-AP control protocol.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="AssocIEEE1905DeviceRef" access="readOnly">
        <description>
          {{param}} is a reference to the IEEE 1905.1 Network Topology Device.
          Since IEEE 1905.1 is a common protocol used by Multi-AP Controllers
          for communications, this parameter allows the MultiAP portion of the
          data model to reference the associated IEEE 1905.1 portion of the
          data model.
        </description>
        <syntax>
          <string>
            <pathRef refType="strong"
                targetParent=".IEEE1905.AL.NetworkTopology.IEEE1905Device."
                targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="EasyMeshControllerOperationMode" access="readOnly">
        <description>
          This parameter represents the status of Wi-Fi CERTIFIED EasyMeshTM
          controller functionality. {{enum}}
        </description>
        <syntax>
          <string>
            <enumeration value="NotSupported">
              <description>
                Wi-Fi EasyMesh controller is not supported.
              </description>
            </enumeration>
            <enumeration value="SupportedNotEnabled">
              <description>
                Wi-Fi EasyMesh controller is supported but not enabled.
              </description>
            </enumeration>
            <enumeration value="Running">
              <description>Wi-Fi EasyMesh controller is running.</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="EasyMeshAgentOperationMode" access="readOnly">
        <description>
          This parameter represents the status of Wi-Fi CERTIFIED EasyMeshTM
          agent functionality. {{enum}}
        </description>
        <syntax>
          <string>
            <enumeration value="NotSupported">
              <description>Wi-Fi EasyMesh agent is not supported.</description>
            </enumeration>
            <enumeration value="SupportedNotEnabled">
              <description>
                Wi-Fi EasyMesh agent is supported but not enabled.
              </description>
            </enumeration>
            <enumeration value="Running">
              <description>Wi-Fi EasyMesh agent is running.</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>
    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.MultiAPDevice.Backhaul."
        access="readOnly" minEntries="1" maxEntries="1" version="2.15">
      <description>
        This object represents an individual Access Point device's Backhaul and
        unique aspects in the Wi-Fi network.

        The endpoints of the backhaul interface are represented by the
        (Device's ID and interface MAC Address). This object represents the
        upward view of the backhaul interface. The two endpoints of the
        backhaul interface are - ({{param|BackhaulDeviceID}},
        {{param|BackhaulMACAddress}}) of the uplinked Backhaul Device -
        {{param|MACAddress}} of this Access Point Device

          {{param|BackhaulDeviceID}} / {{param|BackhaulMACAddress}} &lt;--
          {{param|LinkType}} --- &lt; {{param|MACAddress}}

        {{empty}} is reserved for the {{object}} instance that represents the
        Multi-AP Controller.
      </description>

      <parameter name="LinkType" access="readOnly">
        <description>
          The medium being used to backhaul this Access Point Device to the
          Backhaul Access Point Device. The {{enum|None}} value is reserved for
          the {{object}} instance that represents the Multi-AP Controller.
          {{enum}}
        </description>
        <syntax>
          <string>
            <enumeration value="None"/>
            <enumeration value="Wi-Fi"/>
            <enumeration value="MoCA"/>
            <enumeration value="Ethernet"/>
            <enumeration value="G.hn"/>
            <enumeration value="HPNA"/>
            <enumeration value="HomePlug"/>
            <enumeration value="UPA"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="BackhaulMACAddress" access="readOnly">
        <description>
          The MAC Address at the far end of the backhaul link of the interface
          on the network that is providing a backhaul for this Access Point
          Device. This along with {{param|BackhaulDeviceID}}, helps to identfy
          the backhaul interface endpoint.

          {{empty}} is reserved for the {{object}} instance that represents the
          Multi-AP Controller.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="BackhaulDeviceID" access="readOnly">
        <description>
          The Device's ID of the Device on the network that is providing a
          Backhaul Link for this Access Point Device.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="MACAddress" access="readOnly">
        <description>
          The MAC Address at the near end of the backhaul link of this Access
          Point Device's backhaul interface that is connecting via
          {{param|LinkType}} to {{param|BackhaulMACAddress}} of the Backhaul
          Device identified by {{param|BackhaulDeviceID}}.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="CurrentOperatingClassProfileNumberOfEntries"
          access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.MultiAPDevice.Backhaul.CurrentOperatingClassProfile.{i}."
        access="readOnly"
        numEntriesParameter="CurrentOperatingClassProfileNumberOfEntries"
        minEntries="0" maxEntries="unbounded" version="2.15">
      <description>
        Describes one of the current Operating Classes in use by this Radio.
        One Opeating Class is indicated for each current Operating Channel
        Bandwidth.

        The Channel indicated for the 20 MHz Operating Class is equal to the
        current primary channel.
      </description>
      <uniqueKey>
        <parameter ref="Class"/>
      </uniqueKey>

      <parameter name="Class" access="readOnly">
        <description>
          The Operating Class per {{bibref|802.11-2020|Table E-4}} that this
          radio is currently operating on.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Channel" access="readOnly">
        <description>
          This Channel number in the Operating Class that this Radio is
          currently operating on.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="TxPower" access="readOnly">
        <description>
          Nominal Transmit Power EIRP that this radio is currently using for
          the current Channel in the Opeating Class.

          Represented as 2's complement signed integer in units of decibels
          relative to 1 mW ({{units}}).
        </description>
        <syntax>
          <int>
            <range minInclusive="-127" maxInclusive="127"/>
            <units value="dBm"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="TimeStamp" access="readOnly">
        <description>
          The time this group was collected.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>
    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.MultiAPDevice.Backhaul.Stats."
        access="readOnly" minEntries="1" maxEntries="1" version="2.15">
      <description>
        This object represents the statistics of the backhaul interface view
        from the current Device's ID
      </description>

      <parameter name="BytesSent" access="readOnly">
        <description>
          The total number of bytes transmitted across the backhaul medium (as
          identified by the value of the {{param|#.LinkType}} parameter),
          including framing characters.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BytesReceived" access="readOnly">
        <description>
          The total number of bytes received across the backhaul medium (as
          identified by the value of the {{param|#.LinkType}} parameter),
          including framing characters.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="PacketsSent" access="readOnly">
        <description>
          The total number of packets transmitted across the backhaul medium
          (as identified by the value of the {{param|#.LinkType}} parameter),
          including framing characters.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="PacketsReceived" access="readOnly">
        <description>
          The total number of packets received across the backhaul medium (as
          identified by the value of the {{param|#.LinkType}} parameter),
          including framing characters.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="ErrorsSent" access="readOnly">
        <description>
          The total number of outbound packets that could not be transmitted
          because of errors.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="ErrorsReceived" access="readOnly">
        <description>
          The total number of inbound packets that contained errors preventing
          them from being delivered to a higher-layer protocol.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="LinkUtilization" access="readOnly">
        <description>
          Current utilization (expressed in {{units}}) of the medium (as
          identified by the value of the {{param|#.LinkType}} parameter) being
          used to backhaul this Access Point device to the Multi-AP Controller.
          A value of 0 is used for the {{object}} instance that represents the
          Access Point on the Multi-AP Controller.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="100"/>
            <units value="%"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="SignalStrength" access="readOnly">
        <description>
          An indicator of radio signal strength of the backhaul link of the
          Access Point (AP) to the Multi-AP Controller, measured in {{units}}.
          RCPI threshold is encoded per {{bibref|802.11-2020|Table 9-176}}. The
          value of this parameter is indeterminate if the value of the
          {{param|#.LinkType}} parameter is anything other than
          {{enum|Wi-Fi|#.LinkType}}.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
            <units value="dBm"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="LastDataDownlinkRate" access="readOnly">
        <description>
          The data transmit rate in {{units}} that was most recently used for
          transmission of data from the access point to the associated device.
        </description>
        <syntax>
          <unsignedInt>
            <units value="kbps"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="LastDataUplinkRate" access="readOnly">
        <description>
          The data transmit rate in {{units}} that was most recently used for
          transmission of data from the associated device to the access point.
        </description>
        <syntax>
          <unsignedInt>
            <units value="kbps"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="TimeStamp" access="readOnly">
        <description>
          The time this group was collected.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

    </object>

    <object name="Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}."
        access="readOnly" numEntriesParameter="RadioNumberOfEntries"
        minEntries="0" maxEntries="unbounded" version="2.13">
      <description>
        This object represents all of the individual Radios contained within
        the identified Access Point device known to the controller.
      </description>
      <uniqueKey>
        <parameter ref="ID"/>
      </uniqueKey>

      <parameter name="ID" access="readOnly">
        <description>
          A unique identifier for this particular Radio within the identified
          Access Point as defined in {{bibref|DataElements|Section 3.1}}.
        </description>
        <syntax>
          <base64>
            <size minLength="6" maxLength="6"/>
          </base64>
        </syntax>
      </parameter>

      <parameter name="Enabled" access="readOnly">
        <description>
          Indicates whether this radio is enabled or disabled.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Noise" access="readOnly">
        <description>
          An indicator of the average radio noise plus interference power
          measured for the primary operating channel.

          Encoded as defined for ANPI in {{bibref|802.11-2020|Section
          11.10.9.4}}.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Utilization" access="readOnly">
        <description>
          (Total Channel Utililzation) The percentage of time (linearly scaled
          with 255 representing 100%) that the Access Point device sensed the
          medium was busy, as indicated by either the physical or virtual
          carier sense (CS) mechanism. This is essentially the amount of time
          spent transmiting (both successful and failed transmissions),
          receiving (both local and non-local transmissions), and processing
          noise {{bibref|802.11-2020|Section 9.4.2.27}}.

          When more than one channel is in use for the BSS operating on the
          radio, the {{param}} value is calculated only for the primary
          channel.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Transmit" access="readOnly">
        <description>
          (Transmit Channel Utilization) The percentage of time (linearly
          scaled with 255 representing 100%) that the radio has spent on
          sending individually or group addressed transmissions (successful and
          failed).

          When more than one channel is in use for the BSS operating on the
          radio, the {{param}} value is calculated only for the primary
          channel.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ReceiveSelf" access="readOnly">
        <description>
          (Receive Local Channel Utilization) The percentage of time (linearly
          scaled with 255 representing 100%) that the radio has spent on
          receiving individually or group addressed local transmissions (i.e.
          transmissions from any STA associated with any BSS operating on this
          radio).

          When more than one channel is in use for the BSS operating on the
          radio, the {{param}} value is calculated only for the primary
          channel.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ReceiveOther" access="readOnly">
        <description>
          (Receive Non-Local Channel Utilization) The percentage of time
          (linearly scaled with 255 representing 100%) that the radio has spent
          on receiving individually or group addressed non-local transmissions
          (i.e. valid IEEE 802.11 PPDUs that are not associated with any BSS
          operatin gon this radio).

          When more than one channel is in use for the BSS operating on the
          radio, the {{param}} value is calculated only for the primary
          channel.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="TrafficSeparationCombinedFronthaul" access="readOnly"
          version="2.15">
        <description>
          Indicates traffic separation on combined fronthaul and Profile-1
          backhaul support {{bibref|EasyMesh}}.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="TrafficSeparationCombinedBackhaul" access="readOnly"
          version="2.15">
        <description>
          Indicates traffic separation on combined Profile-1 backhaul and
          Profile-2 backhaul support {{bibref|EasyMesh}}.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="SteeringPolicy" access="readWrite" version="2.15">
        <description>
          Steering Policy:

          : 0: Agent Initiated Steering Disallowed;

          : 1: Agent Initiated Receive Channel Power Indicator (RCPI)-based
            Steering Mandated;

          : 2: Agent Initiated RCPI-based Steering Allowed.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="2"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ChannelUtilizationThreshold" access="readWrite"
          version="2.15">
        <description>
          Channel Utilization Threshold (defined per Basic Service Set (BSS)
          Load element {{bibref|802.11-2020|Section 9.4.2.27}}.).
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="RCPISteeringThreshold" access="readWrite"
          version="2.15">
        <description>
          RCPI Steering Threshold (encoded per {{bibref|802.11-2020|Table
          9-176}}).
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="220"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="STAReportingRCPIThreshold" access="readWrite"
          version="2.15">
        <description>
          Station (STA) Metrics Reporting RCPI Threshold.

          : 0: Do not report STA Metrics based on RCPI threshold.

          : 1 – 220: RCPI threshold (encoded per {{bibref|802.11-2020|Table
            9-176}}).
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="220"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="STAReportingRCPIHysteresisMarginOverride"
          access="readWrite" version="2.15">
        <description>
          STA Metrics Reporting RCPI Hysteresis Margin Override.

          : 0: Use Agent's implementation-specific default RCPI Hysteresis
            margin;

          : &gt;0: RCPI hysteresis margin value. This field is coded as an
            unsigned integer in units of {{units}}.
        </description>
        <syntax>
          <unsignedInt>
            <units value="decibels (dB)"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ChannelUtilizationReportingThreshold"
          access="readWrite" version="2.15">
        <description>
          AP Metrics Channel Utilization Reporting Threshold.

          : 0: Do not report AP Metrics based on Channel utilization threshold;

          : &gt;0: AP Metrics Channel Utilization Reporting Threshold (similar
            to channel utilization measurement in {{bibref|802.11-2020|Section
            9.4.2.27}}).
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AssociatedSTATrafficStatsInclusionPolicy"
          access="readWrite" version="2.15">
        <description>
          Associated STA Traffic Stats Inclusion Policy.

          : {{true}}: Include Associated STA Traffic Stats TLV in AP Metrics
            Response.

          : {{false}}: Do not include Associated STA Traffic Stats
            Type-Length-Value (TLV) in AP Metrics Response;
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="AssociatedSTALinkMetricsInclusionPolicy"
          access="readWrite" version="2.15">
        <description>
          Associated STA Link Metrics Inclusion Policy.

          : {{true}}: Include Associated STA Link Metrics TLV in AP Metrics
            Response.

          : {{false}}: Do not include Associated STA Link Metrics TLV in AP
            Metrics Response;
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="ChipsetVendor" access="readOnly" version="2.15">
        <description>
          A string identifying the Wi-Fi chip vendor of this radio in the
          device.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="APMetricsWiFi6" access="readOnly" version="2.15">
        <description>
           Associated Wi-Fi6 STA Status Inclusion Policy.

          : {{true}}: include Associated Wi-Fi6 STA Status TLV in AP Metrics
            Response.

          : {{false}}: do not include Associated Wi-Fi6 STA Status TLV [3] in
            AP Metrics Response.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="CurrentOperatingClassProfileNumberOfEntries"
          access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UnassociatedSTANumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BSSNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ScanResultNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
      <component ref="DEScanResult"/>
      <component ref="DEScanResultNumberOfEntries"/>

      <parameter name="DisAllowedOpClassChannelsNumberOfEntries"
          access="readOnly" version="2.15">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BackhaulSta."
        access="readOnly" minEntries="1" maxEntries="1" version="2.13">
      <description>
        Contains the Medium Access Control (MAC) address of the STA on this
        radio providing Wi-Fi backhaul to this device.
      </description>

      <parameter name="MACAddress" access="readOnly">
        <description>
          The MAC address of the logical STA sharing the radio for Wi-Fi
          backhaul.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>
    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanCapability."
        access="readOnly" minEntries="1" maxEntries="1" version="2.15">
      <description>
        This object describes the channel scan capabilities of a radio.
      </description>

      <parameter name="OnBootOnly" access="readOnly" version="2.15">
        <description>
          “On boot only” flag, Indicates whether the specified radio is capable
          only of “On boot” scans.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Impact" access="readOnly" version="2.15">
        <description>
          Scan Impact of using this radio to perform a scan.

          : 1: No impact,

          : 2: Reduced number of spatial streams,

          : 3: Time slicing impairment,

          : 4: Radio unavailable for &gt;= 2 seconds.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="3"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="MinimumInterval" access="readOnly" version="2.15">
        <description>
          Minimum Scan Interval, the minimum interval in {{units}} between the
          start of two consecutive channel scans on this radio.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

    <parameter name="OpClassChannelsNumberOfEntries" access="readOnly">
      <description>
        {{numentries}}
      </description>
      <syntax>
        <unsignedInt/>
      </syntax>
    </parameter>

    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.ScanCapability.OpClassChannels.{i}."
        access="readOnly" numEntriesParameter="OpClassChannelsNumberOfEntries"
        minEntries="1" maxEntries="unbounded" version="2.15">
      <description>
        Table of the operating classes (selected from
        {{bibref|802.11-2020|Table E-4}}) and channel numbers in each operating
        class that the radio is capable of scanning.
      </description>
      <uniqueKey>
        <parameter ref="OpClass"/>
      </uniqueKey>

      <component ref="OpClassChannels"/>
    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.CACCapability."
        access="readOnly" minEntries="1" maxEntries="1" version="2.15">
      <description>
        This object describes the Channel Availability Check (CAC) capabilities
        of a radio.
      </description>

      <parameter name="CACMethodNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

   </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.CACCapability.CACMethod.{i}."
        access="readOnly" numEntriesParameter="CACMethodNumberOfEntries"
        minEntries="0" maxEntries="4" version="2.15">
      <description>
        List of Channel Availability Check (CAC) method information for each
        type of CAC that the radio can perform. Each type is defined by a
        method and time to complete. For each type, the classes and channels
        allowed are enumerated.
      </description>
      <uniqueKey>
        <parameter ref="Method"/>
      </uniqueKey>

      <parameter name="Method" access="readOnly">
        <description>
          CAC method supported;

          : 0: Continuous CAC,

          : 1: Continuous with dedicated radio,

          : 2: Multi-Input Multi-Output (MIMO) dimension reduced,

          : 3: Time sliced CAC.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="NumberOfSeconds" access="readOnly">
        <description>
          Number of {{units}} required to complete this method of CAC.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

    <parameter name="OpClassChannelsNumberOfEntries" access="readOnly">
      <description>
        {{numentries}}
      </description>
      <syntax>
        <unsignedInt/>
      </syntax>
    </parameter>

    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.CACCapability.CACMethod.{i}.OpClassChannels.{i}."
        access="readOnly" numEntriesParameter="OpClassChannelsNumberOfEntries"
        minEntries="1" maxEntries="unbounded" version="2.15">
      <description>
        Table of the operating classes (selected from
        {{bibref|802.11-2020|Table E-4}}) and channel numbers in each operating
        class supported for this method of CAC.
      </description>
      <uniqueKey>
        <parameter ref="OpClass"/>
      </uniqueKey>

      <component ref="OpClassChannels"/>
    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities."
        access="readOnly" minEntries="1" maxEntries="1" version="2.13">
      <description>
        This object represents the capabilities of the radio which may be
        different from the current operational configuration.
      </description>

      <parameter name="HTCapabilities" access="readOnly">
        <description>
          Describes the HT capabilities of the radio as defined by the
          HTCapabilities TLV {{bibref|EasyMesh|Section 17.2.8}}.
        </description>
        <syntax>
          <base64>
            <size minLength="1" maxLength="1"/>
          </base64>
        </syntax>
      </parameter>

      <parameter name="VHTCapabilities" access="readOnly">
        <description>
          Describes the VHT capabilities of the radio as defined by the
          VHTCapabilities TLV {{bibref|EasyMesh|Section 17.2.9}}.
        </description>
        <syntax>
          <base64>
            <size minLength="2" maxLength="6"/>
          </base64>
        </syntax>
      </parameter>

      <parameter name="HECapabilities" access="readOnly" status="deprecated">
        <description>
          Describes the HE capabilities of the radio as defined by the
          HECapabilities TLV {{bibref|EasyMesh|Section 17.2.10}}.

          {{deprecated|2.15|because it is superseded by
          {{object|#.WiFi6APRole}} and {{object|#.WiFi6bSTARole}}.}}
        </description>
        <syntax>
          <base64>
            <size minLength="4" maxLength="14"/>
          </base64>
        </syntax>
      </parameter>

      <parameter name="CapableOperatingClassProfileNumberOfEntries"
          access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

    <parameter name="AKMFrontHaulNumberOfEntries" access="readOnly"
          version="2.15">
      <description>
        {{numentries}}
      </description>
      <syntax>
        <unsignedInt/>
      </syntax>
    </parameter>

    <parameter name="AKMBackhaulNumberOfEntries" access="readOnly"
          version="2.15">
      <description>
        {{numentries}}
      </description>
      <syntax>
        <unsignedInt/>
      </syntax>
    </parameter>

    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.WiFi6APRole."
        access="readOnly" minEntries="1" maxEntries="1" version="2.15">
      <description>
        Describes the Wi-Fi 6 capabilities for the AP role.
      </description>

      <component ref="WiFi6"/>
    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.WiFi6bSTARole."
        access="readOnly" minEntries="1" maxEntries="1" version="2.15">
      <description>
        Describes the Wi-Fi 6 capabilities for the backhaul Station (bSTA)
        role.
      </description>

      <component ref="WiFi6"/>
    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.AKMFrontHaul.{i}."
        access="readOnly" numEntriesParameter="AKMFrontHaulNumberOfEntries"
        minEntries="0" maxEntries="unbounded" version="2.15">
      <description>
        Authentication and Key Management (AKM) Suite (security mode)
        capabilities for the fronthaul BSS.
      </description>
      <uniqueKey>
        <parameter ref="OUI"/>
      </uniqueKey>

      <component ref="AKMSuite"/>
    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.AKMBackhaul.{i}."
        access="readOnly" numEntriesParameter="AKMBackhaulNumberOfEntries"
        minEntries="0" maxEntries="unbounded" version="2.15">
      <description>
        Authentication and Key Management (AKM) Suite (security mode)
        capabilities for the backhaul BSS.
      </description>
      <uniqueKey>
        <parameter ref="OUI"/>
      </uniqueKey>

      <component ref="AKMSuite"/>
    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.Capabilities.CapableOperatingClassProfile.{i}."
        access="readOnly"
        numEntriesParameter="CapableOperatingClassProfileNumberOfEntries"
        minEntries="0" maxEntries="unbounded" version="2.13">
      <description>
        Describes one of the possible Operating Classes supported by this
        Radio.
      </description>
      <uniqueKey>
        <parameter ref="Class"/>
      </uniqueKey>

      <parameter name="Class" access="readOnly">
        <description>
          The Operating Class per {{bibref|802.11-2020|Table E-4}} that this
          radio is capable of operating on.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="MaxTxPower" access="readOnly">
        <description>
          Maximum Transmit Power EIRP that this radio is capable of
          transmitting in the current regulatory domain for the Operating
          Class.

          Represented as 2's complement signed integer in units of decibels
          relative to 1 mW ({{units}}).
        </description>
        <syntax>
          <int>
            <range minInclusive="-127" maxInclusive="127"/>
            <units value="dBm"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="NonOperable" access="readOnly">
        <description>
          {{list}} The channel numbers which are statically non-operable in the
          Operating Class (i.e. the Radio is never able to operate on these
          channels).

          Other channels from this Operating Class which are not listed here
          are supported for the Radio.
        </description>
        <syntax>
          <list/>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="NumberOfNonOperChan" access="readOnly">
        <description>
          The number of non-operable channels contained in
          {{param|NonOperable}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.CurrentOperatingClassProfile.{i}."
        access="readOnly"
        numEntriesParameter="CurrentOperatingClassProfileNumberOfEntries"
        minEntries="0" maxEntries="unbounded" version="2.13">
      <description>
        Describes one of the current Operating Classes in use by this Radio.
        One Operating Class is indicated for each current Operating Channel
        Bandwidth.

        The Channel indicated for the 20 MHz Operating Class is equal to the
        current primary channel.
      </description>
      <uniqueKey>
        <parameter ref="Class"/>
      </uniqueKey>

      <parameter name="Class" access="readOnly">
        <description>
          The Operating Class per {{bibref|802.11-2020|Table E-4}} that this
          radio is currently operating on.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Channel" access="readOnly">
        <description>
          This Channel number in the Operating Class that this Radio is
          currently operating on.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="TxPower" access="readOnly">
        <description>
          Nominal Transmit Power EIRP that this radio is currently using for
          the current Channel in the Opeating Class.

          Represented as 2's complement signed integer in units of decibels
          relative to 1 mW ({{units}}).
        </description>
        <syntax>
          <int>
            <range minInclusive="-127" maxInclusive="127"/>
            <units value="dBm"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="TransmitPowerLimit" access="readOnly" version="2.15">
        <description>
          This is the upper limit on nominal transmit Equivalent Isotropically
          Radiated Power (EIRP) that this radio is allowed to use for the
          current {param|Class}}. In units of decibels relative to 1 mW
          {{units}}.
        </description>
        <syntax>
          <int>
            <range minInclusive="-128" maxInclusive="127"/>
            <units value="dBm"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="TimeStamp" access="readOnly">
        <description>
          The time this group was collected. Formatted with the date-and-time
          string format as defined in {{bibref|RFC3339|Section 3}}.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.DisAllowedOpClassChannels.{i}."
        access="readWrite"
        numEntriesParameter="DisAllowedOpClassChannelsNumberOfEntries"
        enableParameter="Enable" minEntries="0" maxEntries="unbounded"
        version="2.15">
      <description>
        The operating classes, and list of channels for each operating class,
        which are not allowed to be used on this radio.
      </description>
      <uniqueKey>
        <parameter ref="OpClass"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables disallowed operating classes and channels.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>


    <parameter name="OpClass" access="readWrite" version="2.15">
      <description>
        The Operating Class per {{bibref|802.11-2020|Table E-4}} For 2.4GHz
        and 5GHz bands, only 20MHz Operating Classes are valid.

        Note that the operating class identifies the band and channel width.
      </description>
      <syntax>
        <unsignedInt>
          <range maxInclusive="255"/>
        </unsignedInt>
      </syntax>
    </parameter>

    <parameter name="ChannelList" access="readWrite">
      <description>
        {{list}} The channel numbers in this Operating Class for which the
        capability is being described.
      </description>
      <syntax>
        <list/>
        <unsignedInt>
          <range maxInclusive="255"/>
        </unsignedInt>
      </syntax>
    </parameter>

    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.SpatialReuse."
        access="readOnly" minEntries="1" maxEntries="1" version="2.15">
      <description>
        The spatial reuse configuration of this radio. Applies only to Wi-Fi 6
        {{bibref|802.11ax}} and possibly later generations of radios.

        Acronyms: Spatial Reuse Group (SRG), Overlapping Basic Service Set
        (OBSS), Preamble Detection (PD).
      </description>

      <parameter name="PartialBSSColor" access="readOnly">
        <description>
          The value of the Partial Basic Service Set (BSS) Color subfield of
          the HEOperations.BSSColorInformation field being transmitted by BSSs
          operating on this radio. (EasyMesh TLV Field: Partial BSS Color)
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <component ref="SpatialReuse"/>

      <parameter name="NeighborBSSColorInUseBitmap" access="readOnly">
        <description>
          Bitmap of BSS colors of Overlapping BSSs (OBSSs) that the
          High-Efficiency (HE) AP has identified by itself or via the
          autonomous BSS Color collision reports received from associated
          non-AP HE STAs.
        </description>
        <syntax>
          <hexBinary>
            <size minLength="8" maxLength="8"/>
          </hexBinary>
        </syntax>
      </parameter>

    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}."
        access="readOnly" numEntriesParameter="BSSNumberOfEntries"
        minEntries="0" maxEntries="unbounded" version="2.13">
      <description>
        A single logical BSS operating on this radio.
      </description>
      <uniqueKey>
        <parameter ref="BSSID"/>
      </uniqueKey>

      <parameter name="BSSID" access="readOnly">
        <description>
          The MAC Address of the logical BSS (BSSID).
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="SSID" access="readOnly">
        <description>
          The SSID in use for this BSS.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="Enabled" access="readOnly">
        <description>
          Whether the BSSID is currently enabled (beaconing frames are being
          sent) or disabled.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="LastChange" access="readOnly">
        <description>
          Time in {{units}} since the last change to the {{param|Enabled}}
          value.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="TimeStamp" access="readOnly">
        <description>
          The time this group was collected. Formatted with the date-and-time
          string format as defined in {{bibref|RFC3339|Section 3}}.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="UnicastBytesSent" access="readOnly">
        <description>
          Access Point (BSS) wide statistics for total unicast bytes
          transmitted.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="UnicastBytesReceived" access="readOnly">
        <description>
          Access Point (BSS) wide statistics for total unicast bytes received.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="MulticastBytesSent" access="readOnly">
        <description>
          Access Point (BSS) wide statistics for total multicast bytes
          transmitted.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="MulticastBytesReceived" access="readOnly">
        <description>
          Access Point (BSS) wide statistics for total multicast bytes
          received.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BroadcastBytesSent" access="readOnly">
        <description>
          Access Point (BSS) wide statistics for total broadcast bytes
          transmitted.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BroadcastBytesReceived" access="readOnly">
        <description>
          Access Point (BSS) wide statistics for total broadcast bytes
          received.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="ByteCounterUnits" access="readOnly" version="2.15">
        <description>
          Byte Counter Units.

          : 1: kibibytes (KiB)

          : 2: mebibytes (MiB).
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1" maxInclusive="2"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Profile1bSTAsDisallowed" access="readOnly"
          version="2.15">
        <description>
          Profile-1 Backhaul STA association disallowed.

          : {{true}}: Backhaul STA association disallowed;

          : {{false}}: Backhaul STA association allowed.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Profile2bSTAsDisallowed" access="readOnly"
          version="2.15">
        <description>
          Profile-2 Backhaul STA association disallowed.

          : {{true}}: Profile 2 bSTA disallowed;

          : {{false}}: Profile 2 bSTA allowed.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="AssociationAllowanceStatus" access="readOnly"
          version="2.15">
        <description>
          The status of allowance of new client device associations on this
          BSS.

          : 0: No more associations allowed,

          : 1: Associations allowed.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="1"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="EstServiceParametersBE" access="readOnly">
        <description>
          Estimated Service Parameters information field for AC=BE, defined per
          {{bibref|802.11-2020|Figure 9-637}} and referenced in
          {{bibref|EasyMesh|Section 17.2.22}}.
        </description>
        <syntax>
          <base64>
            <size minLength="0" maxLength="3"/>
          </base64>
        </syntax>
      </parameter>

      <parameter name="EstServiceParametersBK" access="readOnly">
        <description>
          Estimated Service Parameters information field for AC=BK, defined per
          {{bibref|802.11-2020|Figure 9-637}} and referenced in
          {{bibref|EasyMesh|Section 17.2.22}}.
        </description>
        <syntax>
          <base64>
            <size minLength="0" maxLength="3"/>
          </base64>
        </syntax>
      </parameter>

      <parameter name="EstServiceParametersVI" access="readOnly">
        <description>
          Estimated Service Parameters information field for AC=VI, defined per
          {{bibref|802.11-2020|Figure 9-637}} and referenced in
          {{bibref|EasyMesh|Section 17.2.22}}.
        </description>
        <syntax>
          <base64>
            <size minLength="0" maxLength="3"/>
          </base64>
        </syntax>
      </parameter>

      <parameter name="EstServiceParametersVO" access="readOnly">
        <description>
          Estimated Service Parameters information field for AC=VO, defined per
          {{bibref|802.11-2020|Figure 9-637}} and referenced in
          {{bibref|EasyMesh|Section 17.2.22}}.
        </description>
        <syntax>
          <base64>
            <size minLength="0" maxLength="3"/>
          </base64>
        </syntax>
      </parameter>

      <parameter name="BackhaulUse" access="readOnly" version="2.15">
        <description>
          Indicates that this BSS is in use as a backhaul BSS;

          : {{true}}: backhaul BSS in use,

          : {{false}}: backhaul BSS not in use.

          In {{bibref|EasyMesh}} 0 is in use and 1 is not in use.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="FronthaulUse" access="readOnly" version="2.15">
        <description>
          Indicates that this BSS is in use as a fronthaul BSS;

          : {{true}}: fronthaul BSS in use,

          : {{false}}: fronthaul BSS not in use.

          In {{bibref|EasyMesh}} 0 is in use and 1 is not in use.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="R1disallowed" access="readOnly" version="2.15">
        <description>
          Multi-AP Profile-1 [3] (R1) disallowed status.

          : {{true}}: disallowed,

          : {{false}}: allowed.

          In {{bibref|EasyMesh}} 0 is allowed and 1 is disallowed.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="R2disallowed" access="readOnly" version="2.15">
        <description>
          Multi-AP Profile-2 [3] (R2) disallowed status.

          : {{true}}: disallowed,

          : {{false}}: allowed.

          In {{bibref|EasyMesh}} 0 is allowed and 1 is disallowed.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="MultiBSSID" access="readOnly" version="2.15">
        <description>
          Multiple BSSID Set;

          : {{true}}: configured,

          : {{false}}: not-configured.

          In {{bibref|EasyMesh}}, 1 is configured and 0 is not-configured.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="TransmittedBSSID" access="readOnly" version="2.15">
        <description>
           Transmitted BSSID;

          : {{true}}: transmitted,

          : {{false}}: non-transmitted.

          In {{bibref|EasyMesh}}, 1 is transmitted and 0 is non-transmitted.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="FronthaulAKMsAllowed" access="readWrite" version="2.15">
        <description>
          {{list}} List items indicate Authentication and Key Management (AKM)
          suites/security modes allowed at this BSS for fronthaul. {{enum}}
        </description>
        <syntax>
        <list/>
          <string>
           <enumeration value="psk"><description>
             "psk" indicates one or more of the PSK and FT-PSK AKMs defined
             in {{bibref|802.11-2020|Table 9-151}} typically at least
             "00-0F-AC:2" for interoperability.
           </description>
            </enumeration>
            <enumeration value="dpp"><description>
              "dpp" indicates one or more of the DPP and FT-DPP AKMs defined
              in {{bibref|EasyConnect|Section 8.4}}, typically at least
              "50-6F-9A:2" for interoperability.
            </description>
            </enumeration>
            <enumeration value="sae"><description>
              "sae" indicates one or more of the SAE and FT-SAE AKMs defined
              in {{bibref|802.11-2020|Table 9-151}} typically at least
              "00-0F-AC:8" for interoperability.
            </description>
            </enumeration>
            <enumeration value="psk+sae"/>
            <enumeration value="dpp+sae"/>
            <enumeration value="dpp+psk+sae"/>
            <enumeration value="SuiteSelector"><description>
              AKM suite selector, each AKM suite selector (OUI and type) is
              encoded as a 4-octet hex-encoded value without internal
              delimiters, e.g. 506F9A02 {{bibref|802.11-2020|Table 9-151}}.
            </description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="BackhaulAKMsAllowed" access="readWrite" version="2.15">
        <description>
          {{list}} List items indicate Authentication and Key Management (AKM)
          suites/security modes allowed at this BSS for backhaul. {{enum}}
        </description>
        <syntax>
        <list/>
          <string>
            <enumeration value="psk"><description>
              "psk" indicates one or more of the PSK and FT-PSK AKMs defined
              in {{bibref|802.11-2020|Table 9-151}} typically at least
              "00-0F-AC:2" for interoperability.
            </description>
            </enumeration>
            <enumeration value="dpp"><description>
              "dpp" indicates one or more of the DPP and FT-DPP AKMs defined
              in {{bibref|EasyConnect|Section 8.4}}, typically at least
              "50-6F-9A:2" for interoperability.
            </description>
            </enumeration>
            <enumeration value="sae"><description>
              "sae" indicates one or more of the SAE and FT-SAE AKMs defined
              in {{bibref|802.11-2020|Table 9-151}} typically at least
              "00-0F-AC:8" for interoperability.
            </description>
            </enumeration>
            <enumeration value="psk+sae"/>
            <enumeration value="dpp+sae"/>
            <enumeration value="dpp+psk+sae"/>
            <enumeration value="SuiteSelector"><description>
              AKM suite selector, each AKM suite selector (OUI and type) is
              encoded as a 4-octet hex-encoded value without internal
              delimiters, e.g. 506F9A02 {{bibref|802.11-2020|Table 9-151}}.
            </description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="STANumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="QMDescriptorNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.QMDescriptor.{i}."
        access="readOnly" numEntriesParameter="QMDescriptorNumberOfEntries"
        minEntries="0" maxEntries="unbounded" version="2.15">
      <description>
        This object contains a table of {{param|DescriptorElement}}.
      </description>
      <uniqueKey>
        <parameter ref="ClientMAC"/>
      </uniqueKey>

      <parameter name="ClientMAC" access="readOnly">
        <description>
          MAC address of STA for which this descriptor applies.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>
      <parameter name="DescriptorElement" access="readOnly">
        <description>
          The descriptor element. One of:

          : MSCS descriptor element (as described in
            {{bibref|802.11-2020|Section 9.4.2.243}}, or

          : SCS descriptor element (as described in
            {{bibref|802.11-2020|Section 9.4.2.121}}, or

          : QoS Management DSCP policy element (as described in
            {{bibref|RFC8325|Section 5.3}}).
        </description>
        <syntax>
          <hexBinary/>
        </syntax>
      </parameter>

    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.MultiAPRadio."
        access="readOnly" minEntries="1" maxEntries="1" version="2.15">
      <description>
        This object represents an individual Access Point Radio in the Wi-Fi
        network.
      </description>

      <parameter name="RadarDetections" access="readOnly">
        <description>
          {{list}} List items represent channels in the non-occupancy list due
          to radars detected by Dynamic Frequency Selection (DFS) Channel
          Availability Check (CAC).
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <unsignedInt/>
        </syntax>
      </parameter>

    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.MultiAPSteering."
        access="readOnly" minEntries="1" maxEntries="1" version="2.15">
      <description>
        A single logical Access Point operating on this radio.
      </description>

      <parameter name="BlacklistAttempts" access="readOnly">
        <description>
          Number of times a Blacklist steer was attempted for this Access
          Point.

          Blacklist steering is the process of forcing a connected STA to move
          to another Access Point by temporarily blocking its access to the
          current Access Point.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BTMAttempts" access="readOnly">
        <description>
          Number of times a BTM (BSS Transition Management; {{bibref|802.11k}})
          steer was attempted for this Access Point.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BTMQueryResponses" access="readOnly">
        <description>
          Number of asynchronous BTM (BSS Transition Management;
          {{bibref|802.11k}}) Queries for which a BTM Request was issued by
          this Access Point.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

    </object>
    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}."
        access="readOnly" numEntriesParameter="STANumberOfEntries"
        minEntries="0" maxEntries="unbounded" version="2.13">
      <description>
        Object describing a single Associated Device (STA).
      </description>
      <uniqueKey>
        <parameter ref="MACAddress"/>
      </uniqueKey>

      <parameter name="MACAddress" access="readOnly">
        <description>
          The MAC address of an associated device.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="TimeStamp" access="readOnly">
        <description>
          The time this group was collected. Formatted with the date-and-time
          string format as defined in {{bibref|RFC3339|Section 3}}.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="HTCapabilities" access="readOnly">
        <description>
          Describes the HT capabilities of the Associated Device (STA).
        </description>
        <syntax>
          <base64>
            <size minLength="1" maxLength="1"/>
          </base64>
        </syntax>
      </parameter>

      <parameter name="VHTCapabilities" access="readOnly">
        <description>
          Describes the VHT capabilities of the Associated Device (STA).
        </description>
        <syntax>
          <base64>
            <size minLength="2" maxLength="6"/>
          </base64>
        </syntax>
      </parameter>

      <parameter name="HECapabilities" access="readOnly" status="deprecated">
        <description>
          Describes the HE capabilities of the Associated Device (STA).

          {{deprecated|2.15|because it is superseded by
          {{object|#.WiFi6Capabilities}}.}}
        </description>
        <syntax>
          <base64>
            <size minLength="4" maxLength="14"/>
          </base64>
        </syntax>
      </parameter>

      <parameter name="ClientCapabilities" access="readOnly" version="2.15">
        <description>
          The frame body of the most recently received (Re)Association Request
          frame from this client (STA), as defined in Table 9-34 and Table 9-36
          of {{bibref|802.11-2020}} in the order of the underlying referenced
          standard.
        </description>
        <syntax>
          <base64/>
        </syntax>
      </parameter>

      <parameter name="LastDataDownlinkRate" access="readOnly">
        <description>
          The data transmit rate in {{units}} that was most recently used for
          transmission of data from the access point to the associated device.
        </description>
        <syntax>
          <unsignedInt>
            <units value="kbps"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="LastDataUplinkRate" access="readOnly">
        <description>
          The data transmit rate in {{units}} that was most recently used for
          transmission of data from the associated device to the access point.
        </description>
        <syntax>
          <unsignedInt>
            <units value="kbps"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="UtilizationReceive" access="readOnly">
        <description>
          The amount of time in {{units}} that the Radio has spent on the
          Channel receiving data from this Associated Device (STA).
        </description>
        <syntax>
          <unsignedLong>
            <units value="milliseconds"/>
          </unsignedLong>
        </syntax>
      </parameter>

      <parameter name="UtilizationTransmit" access="readOnly">
        <description>
          The amount of time in {{units}} that the Radio has spent on the
          Channel transmitting data to this Associated Device (STA).
        </description>
        <syntax>
          <unsignedLong>
            <units value="milliseconds"/>
          </unsignedLong>
        </syntax>
      </parameter>

      <parameter name="EstMACDataRateDownlink" access="readOnly">
        <description>
          Estimate of the MAC layer throughput in {{units}} achievable in the
          downlink direction if 100% of channel airtime and BSS operating
          bandwidth were available, as defined in {{bibref|EasyMesh|Section
          10.3.1}}.
        </description>
        <syntax>
          <unsignedInt>
            <units value="Mbps"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="EstMACDataRateUplink" access="readOnly">
        <description>
          Estimate of the MAC layer throughput in {{units}} achievable in the
          uplink direction if 100% of channel airtime and BSS operating
          bandwidth were available, as defined in {{bibref|EasyMesh|Section
          10.3.1}}.
        </description>
        <syntax>
          <unsignedInt>
            <units value="Mbps"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="SignalStrength" access="readOnly">
        <description>
          An indicator of radio signal strength of the uplink from the
          associated STA to the access point - measured in {{units}}. RCPI
          threshold (encoded per {{bibref|802.11-2020|Table 9-176}}}, and
          described in {{bibref|EasyMesh|Section 10.3.1}}). Reserved: 221 -
          255.

          NOTE: The underlying WFA specification is in the process of being
          reviewed for possible clarification. Please refer to that
          specification for more details.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
            <units value="dBm"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="LastConnectTime" access="readOnly">
        <description>
          The time in {{units}} since this Assocated Device (STA) was
          associated.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="BytesSent" access="readOnly">
        <description>
          The total number of bytes transmitted to the Associated Device.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BytesReceived" access="readOnly">
        <description>
          The total number of bytes received from the Associated Device.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="PacketsSent" access="readOnly">
        <description>
          The total number of packets transmitted to the Associated Device.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="PacketsReceived" access="readOnly">
        <description>
          The total number of packets received from the Associated Device.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="ErrorsSent" access="readOnly">
        <description>
          The total number of outbound packets that could not be transmitted
          because of errors. These might be due to the number of
          retransmissions exceeding the retry limit, or from other causes.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="ErrorsReceived" access="readOnly">
        <description>
          The total number of inbound packets that contained errors preventing
          them from being delivered to a higher-layer protocol.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="RetransCount" access="readOnly">
        <description>
          The total number of transmitted packets which were retransmissions.
          Two retransmissions of the same packet results in this counter
          incrementing by two.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="MeasurementReport" access="readOnly">
        <description>
          {{list}} Measurement Report element(s) received from the Associated
          Device (STA) that constitute the latest Beacon report as defined in
          {{bibref|802.11-2020|Figure 9-230}}.
        </description>
        <syntax>
          <list/>
          <base64/>
        </syntax>
      </parameter>

      <parameter name="NumberOfMeasureReports" access="readOnly">
        <description>
          The number of measurement report elements contained in
          {{param|MeasurementReport}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="IPV4Address" access="readOnly">
        <description>
          IPV4 Address assigned to the client.
        </description>
        <syntax>
          <dataType ref="IPv4Address"/>
        </syntax>
      </parameter>

      <parameter name="IPV6Address" access="readOnly">
        <description>
          IPV6Address assigned to the client.
        </description>
        <syntax>
          <dataType ref="IPv6Address"/>
        </syntax>
      </parameter>

      <parameter name="Hostname" access="readOnly">
        <description>
          Hostname assigned to the client.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="CellularDataPreference" access="readWrite"
          version="2.15">
        <description>
          This is the Cellular Data Preference for a Agile Multiband (AMB)
          capable STA This specifies the use of the cellular data connection.
          {{bibref|AMB}} {{enum}}
        </description>
        <syntax>
          <string>
            <enumeration value="Excluded"/>
            <enumeration value="Should not use"/>
            <enumeration value="Should use"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ReAssociationDelay" access="readWrite" version="2.15">
        <description>
          Re-association Delay {{bibref|AMB}}. The time, in {{units}}, after a
          BTM steer from AP1 to AP2 during which the station cannot go back and
          re-associate with AP1.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
            <range maxInclusive="65535"/>
          </unsignedInt>
        </syntax>
      </parameter>

    <parameter name="TIDQueueSizesNumberOfEntries" access="readOnly"
          version="2.15">
      <description>
        {{numentries}}
      </description>
      <syntax>
        <unsignedInt/>
      </syntax>
    </parameter>
    </object>

      <object
        name="Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.MultiAPSTA."
        access="readOnly" minEntries="1" maxEntries="1" version="2.15">
        <description>
          The summary of statistics and operations for an individual STA on the
          Wi-Fi network.

          The counters contained in {{object}} are all reset on reboot.
        </description>

        <parameter name="AssociationTime" access="readOnly">
          <description>
            Date and time in UTC when the device was associated.
          </description>
          <syntax>
            <dateTime/>
          </syntax>
        </parameter>

        <parameter name="Noise" access="readOnly">
          <description>
            An indicator of the average radio noise plus interference power
            measured on the uplink from the Associated Device (STA) to the Access
            Point (AP).

            Encoded as defined for ANPI in {{bibref|802.11-2020|Section
            11.10.9.4}}.
          </description>
          <syntax>
            <unsignedInt>
              <range maxInclusive="255"/>
            </unsignedInt>
          </syntax>
        </parameter>

        <parameter name="SteeringHistoryNumberOfEntries" access="readOnly">
          <description>
            {{numentries}}
          </description>
          <syntax>
            <unsignedInt/>
          </syntax>
        </parameter>
      </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.MultiAPSTA.SteeringSummaryStats."
        access="readOnly" minEntries="1" maxEntries="1">
      <description>
        The summary of statistics related to Multi-AP Steering for this STA on
        the Wi-Fi network.

        The counters contained in {{object}} are all reset on reboot.
      </description>

      <parameter name="NoCandidateAPFailures" access="readOnly">
        <description>
          Number of times this Associated Device should have been steered but
          wasn't because a better candidate AP couldn't be found.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BlacklistAttempts" access="readOnly">
        <description>
          Number of times a Blacklist steer was attempted on this Associated
          Device.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BlacklistSuccesses" access="readOnly">
        <description>
          Number of times an attempted Blacklist steer succeeded for this
          Associated Device.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BlacklistFailures" access="readOnly">
        <description>
          Number of times an attempted Blacklist steer failed for this
          Associated Device.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BTMAttempts" access="readOnly">
        <description>
          Number of times a BTM (BSS Transition Management; {{bibref|802.11k}})
          steer was attempted on this Associated Device.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BTMSuccesses" access="readOnly">
        <description>
          Number of times an attempted BTM (BSS Transition Management;
          {{bibref|802.11k}}) steer succeeded for this Associated Device.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BTMFailures" access="readOnly">
        <description>
          Number of times an attempted BTM (BSS Transition Management;
          {{bibref|802.11k}}) steer failed for this Associated Device.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BTMQueryResponses" access="readOnly">
        <description>
          Number of asynchronous BTM (BSS Transition Management;
          {{bibref|802.11k}}) Queries for which a BTM Request was issued to
          this Associated Device.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="LastSteerTime" access="readOnly">
        <description>
          The number of {{units}} since this Associated Device was last
          attempted to be steered.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.MultiAPSTA.SteeringHistory.{i}."
        access="readOnly" numEntriesParameter="SteeringHistoryNumberOfEntries"
        minEntries="0" maxEntries="unbounded">
      <description>
        The history of Multi-AP Steering for this STA on the Wi-Fi network.

        The contents of this multi-instance object are reset on reboot.
      </description>
      <uniqueKey>
        <parameter ref="Time"/>
        <parameter ref="APOrigin"/>
        <parameter ref="APDestination"/>
      </uniqueKey>

      <parameter name="Time" access="readOnly">
        <description>
          The date/time when steering was initiated for the Associated Device.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="APOrigin" access="readOnly">
        <description>
          The BSSID of the Access Point that initiated the steering.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="TriggerEvent" access="readOnly">
        <description>
          The type of event that caused the steering to be initiaited. {{enum}}

          NOTE: This might be Unknown for BTM Query Response steers.
        </description>
        <syntax>
          <string>
            <enumeration value="Unknown"/>
            <enumeration value="Wi-Fi Channel Utilization"/>
            <enumeration value="Wi-Fi Link Quality"/>
            <enumeration value="Backhaul Link Utilization"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SteeringApproach" access="readOnly">
        <description>
          The type of steering that was attempted. {{enum}}
        </description>
        <syntax>
          <string>
            <enumeration value="Blacklist"/>
            <enumeration value="BTM Request"/>
            <enumeration value="Async BTM Query"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="APDestination" access="readOnly">
        <description>
          The BSSID of the destination Access Point of a successful steer.

          A failed steering attempt will leave this parameter {{empty}}.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="SteeringDuration" access="readOnly">
        <description>
          The amount of time in {{units}} required for the steer to complete
          successfully.

          A failed steering attempt will leave this parameter 0.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>
    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.WiFi6Capabilities."
        access="readOnly" minEntries="1" maxEntries="1" version="2.15">
      <description>
        Describes the Wi-Fi 6 capabilities of the Associated Device (STA).
      </description>

       <component ref="WiFi6"/>
    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.TIDQueueSizes.{i}."
        access="readOnly" numEntriesParameter="TIDQueueSizesNumberOfEntries"
        minEntries="0" maxEntries="unbounded" version="2.15">
      <description>
        Object describing Traffic Identifiers (TIDs), and Queue Size for each
        TID, for this Associated Device (STA).
      </description>
      <uniqueKey>
        <parameter ref="TID"/>
      </uniqueKey>

      <parameter name="TID" access="readOnly">
        <description>
          The TID of the corresponding Queue Size field.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Size" access="readOnly">
        <description>
          Queue Size for this TID. Its format is defined in Table 9-10-QoS
          Control field {{bibref|802.11-2020}}.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object
        name="Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.UnassociatedSTA.{i}."
        access="readOnly" numEntriesParameter="UnassociatedSTANumberOfEntries"
        minEntries="0" maxEntries="unbounded" version="2.13">
      <description>
        Each instance represents a Non-AP STA that has been discovered by the
        Radio but is not associated to any of the BSS operating on the Radio.
      </description>
      <uniqueKey>
        <parameter ref="MACAddress"/>
      </uniqueKey>

      <parameter name="MACAddress" access="readOnly">
        <description>
          The MAC address of the Non-AP STA.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="SignalStrength" access="readOnly">
        <description>
          An indicator of radio signal strength (RCPI) of the uplink from the
          Non-AP STA - measured in {{units}}. (RCPI threshold is encoded per
          {{bibref|802.11-2020|Table 9-176}}, and described in
          {{bibref|EasyMesh|Section 10.3.2}}). Reserved: 221 - 255.

          NOTE: The underlying WFA specification is in the process of being
          reviewed for possible clarification. Please refer to that
          specification for more details.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
            <units value="dBm"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object name="Device.WiFi.DataElements.AssociationEvent."
        access="readOnly" minEntries="1" maxEntries="1" version="2.13">
      <description>
        This object contains the events generated when a STA associates to a
        BSS.
      </description>

      <parameter name="AssociationEventDataNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="Device.WiFi.DataElements.AssociationEvent.AssociationEventData.{i}."
        access="readOnly"
        numEntriesParameter="AssociationEventDataNumberOfEntries"
        minEntries="0" maxEntries="unbounded" dmr:noUniqueKeys="true"
        version="2.13">
      <description>
        The events generated when an Associated Device (STA) associates to a
        BSS.
      </description>

      <component ref="AssociationEventData"/>
    </object>

    <object
        name="Device.WiFi.DataElements.AssociationEvent.AssociationEventData.{i}.WiFi6Capabilities."
        access="readOnly" minEntries="1" maxEntries="1" version="2.15">
      <description>
        Describes the Wi-Fi 6 capabilities of the Associated Device (STA).
      </description>
      <component ref="WiFi6"/>
    </object>

    <object name="Device.WiFi.DataElements.DisassociationEvent."
        access="readOnly" minEntries="1" maxEntries="1" version="2.13">
      <description>
        This object contains the events generated when an Associated Device
        (STA) disassociates from a BSS.
      </description>

      <parameter name="DisassociationEventDataNumberOfEntries"
          access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="Device.WiFi.DataElements.DisassociationEvent.DisassociationEventData.{i}."
        access="readOnly"
        numEntriesParameter="DisassociationEventDataNumberOfEntries"
        minEntries="0" maxEntries="unbounded" dmr:noUniqueKeys="true"
        version="2.13">
      <description>
        The events generated when an Associated Device (STA) disassociates from
        a BSS.
      </description>

      <component ref="DisassociationEventData"/>
    </object>

    <object name="Device.WiFi.DataElements.FailedConnectionEvent."
        access="readOnly" minEntries="1" maxEntries="1" version="2.15">
      <description>
        This object contains the events generated when a Station (STA) fails to
        connect to a Basic Service Set (BSS).
      </description>

      <parameter name="FailedConnectionEventDataNumberOfEntries"
          access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="Device.WiFi.DataElements.FailedConnectionEvent.FailedConnectionEventData.{i}."
        access="readOnly"
        numEntriesParameter="FailedConnectionEventDataNumberOfEntries"
        minEntries="0" maxEntries="unbounded" dmr:noUniqueKeys="true">
      <description>
        This object describes the data provided with a failed connection event
      </description>

      <component ref="FailedConnectionEventData"/>
    </object>

  </component>

  <component name="BBFEasyMesh">

    <object name="Device.WiFi.MultiAP." access="readOnly" minEntries="1"
        maxEntries="1" status="deprecated" version="2.13">
      <description>
        This object describes a Wi-Fi network containing 1 or more Access Point
        devices.

        This object is related to a Wi-Fi network that contains multiple Access
        Points (Multi-AP) and utilizes software logic to optimize that Wi-Fi
        network (typically via steering STAs, also known as Associated Devices,
        to the best Access Point). This object exposes the view of the Wi-Fi
        netwtork from the perspective of the Multi-AP Controller. The Wi-Fi
        Alliance EasyMesh solution is one example of managing a Multi-AP
        network.

        This object and all sub-objects have been moved to new objects.

        {{deprecated|2.15|because it has moved to
        {{object|##.WiFi.DataElements.Network}} MultiAP objects}}
      </description>

      <parameter name="APDeviceNumberOfEntries" access="readOnly"
          status="deprecated">
        <description>
          {{numentries}}

          {{deprecated|2.15| because the {{object|#.APDevice.{i}}}}} is being
          deprecated.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.WiFi.MultiAP.SteeringSummaryStats." access="readOnly"
        minEntries="1" maxEntries="1" status="deprecated" version="2.13">
      <description>
        The summary of statistics related to Multi-AP Steering for the Wi-Fi
        network.

        The counters contained in {{object}} are all reset on reboot.

        {{deprecated|2.15|because it has moved to
        {{object|##.DataElements.Network.MultiAPSteeringSummaryStats}}}}
      </description>

      <parameter name="NoCandidateAPFailures" access="readOnly">
        <description>
          Number of times Associated Devices should have been steered but
          weren't because a better candidate AP couldn't be found.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BlacklistAttempts" access="readOnly">
        <description>
          Number of times a Blacklist steer was attempted.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BlacklistSuccesses" access="readOnly">
        <description>
          Number of times an attempted Blacklist steer succeeded.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BlacklistFailures" access="readOnly">
        <description>
          Number of times an attempted Blacklist steer failed.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BTMAttempts" access="readOnly">
        <description>
          Number of times a BTM (BSS Transition Management; 802.11k) steer was
          attempted.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BTMSuccesses" access="readOnly">
        <description>
          Number of times an attempted BTM (BSS Transition Management; 802.11k)
          steer succeeded.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BTMFailures" access="readOnly">
        <description>
          Number of times an attempted BTM (BSS Transition Management; 802.11k)
          steer failed.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BTMQueryResponses" access="readOnly">
        <description>
          Number of asynchronous BTM (BSS Transition Management; 802.11k)
          Queries for which a BTM Request was issued.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.WiFi.MultiAP.APDevice.{i}." access="readOnly"
        numEntriesParameter="APDeviceNumberOfEntries" minEntries="0"
        maxEntries="unbounded" status="deprecated" version="2.13">
      <description>
        Each instance of this object represents an individual Access Point
        device in the Wi-Fi network.

        {{deprecated|2.15|because {{param|ManufacturerOUI}} and
        {{param|LastContactTime}} have moved to
        {{object|##.DataElements.Network.Device.{i}.MultiAPDevice}}, Backhaul
        parameters have moved to
        {{object|##.DataElements.Network.Device.{i}.MultiAPDevice.Backhaul}}
        and {{param|MACAddress}} is duplicated in
        {{param|##.DataElements.Network.Device.{i}.ID}}}} All the rest are
        deprecated as noted.
      </description>
      <uniqueKey>
        <parameter ref="MACAddress"/>
      </uniqueKey>

      <parameter name="MACAddress" access="readOnly" status="deprecated">
        <description>
          A unique identifier for this particular device within the Wi-Fi
          network.

          {{deprecated|2.15|because it has been replaced by
          {{param|##.DataElements.Network.Device.{i}.ID}}}}
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="Manufacturer" access="readOnly" status="deprecated">
        <description>
          The manufacturer of the Access Point device (human readable string).

          {{deprecated|2.15|because this information will be part of Data
          Elements R2}}
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="ManufacturerOUI" access="readOnly">
        <description>
          Organizationally unique identifier of the Access Point device
          manufacturer. Represented as a six hexadecimal-digit value using all
          upper-case letters and including any leading zeros. {{pattern}}

          The value MUST be a valid OUI as defined in {{bibref|OUI}}.

          This value MUST remain fixed over the lifetime of the device,
          including across firmware updates.
        </description>
        <syntax>
          <string>
            <size minLength="6" maxLength="6"/>
            <pattern value="[0-9A-F]{6}"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ProductClass" access="readOnly" status="deprecated">
        <description>
          Identifier of the class of product for which the serial number
          applies. That is, for a given manufacturer, this parameter is used to
          identify the product or class of product over which the
          {{param|SerialNumber}} parameter is unique.

          This value MUST remain fixed over the lifetime of the device,
          including across firmware updates.

          {{deprecated|2.15|because this information will be part of Data
          Elements R2}}
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SerialNumber" access="readOnly" status="deprecated">
        <description>
          Identifier of the particular Access Point device that is unique for
          the indicated class of product and manufacturer.

          This value MUST remain fixed over the lifetime of the device,
          including across firmware updates.

          {{deprecated|2.15|because this information will be part of Data
          Elements R2}}
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SoftwareVersion" access="readOnly" status="deprecated">
        <description>
          A string identifying the software version currently installed in the
          Access Point device (i.e. version of the overall firmware).

          To allow version comparisons, this element SHOULD be in the form of
          dot-delimited integers, where each successive integer represents a
          more minor category of variation. For example, ''3.0.21'' where the
          components mean: ''Major.Minor.Build''.

          {{deprecated|2.15|because this information will be part of Data
          Elements R2}}
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LastContactTime" access="readOnly">
        <description>
          The last time that the Access Point device was contacted via the
          Multi-AP control protocol.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="AssocIEEE1905DeviceRef" access="readOnly">
        <description>
          {{param}} is a reference to the IEEE 1905.1 Network Topology Device.
          Since IEEE 1905.1 is a common protocol used by Multi-AP Controllers
          for communications, this parameter allows the MultiAP portion of the
          data model to reference the associated IEEE 1905.1 portion of the
          data model.
        </description>
        <syntax>
          <string>
            <pathRef refType="strong"
                targetParent=".IEEE1905.AL.NetworkTopology.IEEE1905Device."
                targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="BackhaulLinkType" access="readOnly">
        <description>
          The medium being used to backhaul this Access Point Device to the
          Multi-AP Controller. The {{enum|None}} value is reserved for the
          {{object}} instance that represents the Multi-AP Controller. {{enum}}
        </description>
        <syntax>
          <string>
            <enumeration value="None"/>
            <enumeration value="Wi-Fi"/>
            <enumeration value="MoCA"/>
            <enumeration value="Ethernet"/>
            <enumeration value="G.hn"/>
            <enumeration value="HPNA"/>
            <enumeration value="HomePlug"/>
            <enumeration value="UPA"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="BackhaulMACAddress" access="readOnly">
        <description>
          The MAC Address of the Device on the network that is providing a
          Backhaul Link for this Access Point Device.

          {{empty}} is reserved for the {{object}} instance that represents the
          Multi-AP Controller.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="BackhaulBytesSent" access="readOnly">
        <description>
          The total number of bytes transmitted across the backhaul medium (as
          identified by the value of the {{param|BackhaulLinkType}} parameter),
          including framing characters.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BackhaulBytesReceived" access="readOnly">
        <description>
          The total number of bytes received across the backhaul medium (as
          identified by the value of the {{param|BackhaulLinkType}} parameter),
          including framing characters.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BackhaulLinkUtilization" access="readOnly">
        <description>
          Current utilization (expressed in {{units}}) of the medium (as
          identified by the value of the {{param|BackhaulLinkType}} parameter)
          being used to backhaul this Access Point device to the Multi-AP
          Controller. A value of 0 is used for the {{object}} instance that
          represents the Access Point on the Multi-AP Controller.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
            <units value="%"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="BackhaulSignalStrength" access="readOnly">
        <description>
          An indicator of radio signal strength of the backhaul link of the
          Access Point (AP) to the Multi-AP Controller, measured in {{units}}.
          RCPI threshold is encoded per {{bibref|802.11-2020|Table 9-176}}. The
          value of this parameter is indeterminate if the value of the
          {{param|BackhaulLinkType}} parameter is anything other than
          {{enum|Wi-Fi|BackhaulLinkType}}.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
            <units value="dBm"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="RadarDetections" access="readOnly" version="2.14">
        <description>
          {{list}} List items represent channels in the non-occupancy list due
          to radars detected by Dynamic Frequency Selection (DFS) Channel
          Availability Check (CAC).
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DFSEnable" access="readWrite" version="2.14"
          status="deprecated">
        <description>
          Enables or disables Dynamic Frequency Selection (DFS).

          {{deprecated|2.15|because this information will be part of Data
          Elements R2}}
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="RadioNumberOfEntries" access="readOnly"
          status="deprecated">
        <description>
          {{numentries}}

          {{deprecated|2.15| because the {{object|#.Radio.{i}}}}} is being
          deprecated
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.WiFi.MultiAP.APDevice.{i}.Radio.{i}."
        access="readOnly" numEntriesParameter="RadioNumberOfEntries"
        minEntries="0" maxEntries="unbounded" status="deprecated"
        version="2.13">
      <description>
        This object represents all of the individual Radios contained within
        the identified Access Point device known to the controller.

        {{deprecated|2.15|because {{param|MACAddress}} is duplicated in
        {{param|###.DataElements.Network.Device.{i}.Radio.{i}.ID}} and
        {{param|OperatingFrequencyBand}} is replaced with
        {{param|###.DataElements.Network.Device.{i}.Radio.{i}.CurrentOperatingClassProfile.{i}.Class}}.
        {{param|Channel}} is duplicated in
        {{param|###.DataElements.Network.Device.{i}.Radio.{i}.CurrentOperatingClassProfile.{i}.Channel}}.
        {{param|TransmitPower}} is duplicated in
        {{param|###.DataElements.Network.Device.{i}.Radio.{i}.CurrentOperatingClassProfile.{i}.TxPower}}}}
        The remaining parameters deprecated as noted.
      </description>
      <uniqueKey>
        <parameter ref="MACAddress"/>
      </uniqueKey>

      <parameter name="MACAddress" access="readOnly" status="deprecated">
        <description>
          A unique identifier for this particular Radio within the identified
          Access Point.

          {{deprecated|2.15|because it is duplicated in
          {{param|###.DataElements.Network.Device.{i}.Radio.{i}.ID}}}}
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="OperatingFrequencyBand" access="readOnly"
          status="deprecated">
        <description>
          Indicates the frequency band at which the radio is operating.
          {{enum}}

          {{deprecated|2.15|because it is replaced with
          {{param|###.DataElements.Network.Device.{i}.Radio.{i}.CurrentOperatingClassProfile.{i}.Class}}}}
        </description>
        <syntax>
          <string>
            <enumeration value="2.4GHz"/>
            <enumeration value="5GHz"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="OperatingStandards" access="readOnly"
          status="deprecated">
        <description>
          {{list}} List items indicate which IEEE 802.11 standard this
          {{object}} instance is configured for. {{enum}}

          If {{param|OperatingFrequencyBand}} is set to
          {{enum|2.4GHz|OperatingFrequencyBand}}, only values {{enum|b}},
          {{enum|g}}, {{enum|n}}, {{enum|ax}} are applicable.

          If {{param|OperatingFrequencyBand}} is set to
          {{enum|5GHz|OperatingFrequencyBand}}, only values {{enum|a}},
          {{enum|n}}, {{enum|ac}}, {{enum|ax}} are applicable.

          For example, a value of "g,b" (or "b,g" - order is not important)
          means that the 802.11g standard {{bibref|802.11g-2003}} is used with
          a backwards-compatible mode for 802.11b {{bibref|802.11b-1999}}. A
          value of "g" means that only the 802.11g standard is in use.

          {{deprecated|2.15|because this information cannot be obtained by
          EasyMesh}}
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="a">
              <description>{{bibref|802.11a-1999}}</description>
            </enumeration>
            <enumeration value="b">
              <description>{{bibref|802.11b-1999}}</description>
            </enumeration>
            <enumeration value="g">
              <description>{{bibref|802.11g-2003}}</description>
            </enumeration>
            <enumeration value="n">
              <description>{{bibref|802.11n-2009}}</description>
            </enumeration>
            <enumeration value="ac">
              <description>{{bibref|802.11ac-2013}}</description>
            </enumeration>
            <enumeration value="ax">
              <description>{{bibref|802.11ax}}</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="Channel" access="readWrite" status="deprecated">
        <description>
          The current radio channel used by the connection.

          To request automatic channel selection, set
          {{param|Device.WiFi.Radio.{i}.AutoChannelEnable}} to {{true}}.

          Whenever {{param|Device.WiFi.Radio.{i}.AutoChannelEnable}} is
          {{true}}, the value of the {{param}} parameter MUST be the channel
          selected by the automatic channel selection procedure.

          For channels in "wide mode" (where a channel bandwidth strictly
          greater than 20 MHz is used), this parameter is used for Primary
          Channel only. The secondary or extension channel information is
          available through {{param|ExtensionChannel}}.

          Note: Valid {{param}} values depend on the
          {{param|OperatingFrequencyBand}} value specified and the regulatory
          domain.

          {{deprecated|2.15|because it is replaced with
          {{param|###.DataElements.Network.Device.{i}.Radio.{i}.CurrentOperatingClassProfile.{i}.Channel}}}}
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ExtensionChannel" access="readOnly" status="deprecated">
        <description>
          The secondary extension channel position, applicable when operating
          in wide channel mode (i.e. when
          {{param|CurrentOperatingChannelBandwidth}} is
          {{enum|40MHz|CurrentOperatingChannelBandwidth}}

          If not operating in wide channel mode (i.e. when
          {{param|CurrentOperatingChannelBandwidth}} is something other than
          {{enum|40MHz|CurrentOperatingChannelBandwidth}}, then the value of
          {{param}} is {{enum|None}}. {{enum}}

          {{deprecated|2.15|because this information is not available via
          EasyMesh}}
        </description>
        <syntax>
          <string>
            <enumeration value="None"/>
            <enumeration value="AboveControlChannel"/>
            <enumeration value="BelowControlChannel"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PossibleChannels" access="readOnly" status="deprecated"
          version="2.14">
        <description>
          {{list}} List items represent possible radio channels for the
          wireless standard (a, b, g, n, ac, ax) and the regulatory domain.

          Ranges in the form "n-m" are permitted.

          For example, for 802.11b and North America, would be "1-11".

          {{deprecated|2.15|because it is not available via EasyMesh}}
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="CurrentOperatingChannelBandwidth" access="readOnly"
          status="deprecated">
        <description>
          The channel bandwidth currently in use. {{enum}}

          {{deprecated|2.15|because it is not available via EasyMesh}}
        </description>
        <syntax>
          <string>
            <enumeration value="20MHz"/>
            <enumeration value="40MHz"/>
            <enumeration value="80MHz"/>
            <enumeration value="160MHz"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="MCS" access="readOnly" status="deprecated">
        <description>
          The Modulation Coding Scheme index (applicable to 802.11n and
          802.11ac specifications only). Values from 0 to 15 MUST be supported
          ({{bibref|802.11n-2009}}). Values from 0 to 9 MUST be supported for
          {{bibref|802.11ac-2013}}.

          {{deprecated|2.15|because this information is not available in
          EasyMesh}}
        </description>
        <syntax>
          <int>
            <range minInclusive="0" maxInclusive="15"/>
            <range minInclusive="16" maxInclusive="31"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="TransmitPower" access="readOnly" status="deprecated">
        <description>
          Indicates the current transmit power level as a {{units}} of full
          power.

          {{deprecated|2.15|because it is duplicated in
          {{param|###.DataElements.Network.Device.{i}.Radio.{i}.CurrentOperatingClassProfile.{i}.TxPower}}}}
        </description>
        <syntax>
          <int>
            <range minInclusive="-1" maxInclusive="100"/>
            <units value="percentage"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="TransmitPowerLimit" access="readWrite"
          status="deprecated" version="2.14">
        <description>
          Indicates the maximum Effective Isotropic Radiated Power (EIRP) per
          20 MHz bandwidth representing the nominal transmit power limit for
          this radio. The field is coded in units of {{units}} relative to 1
          mW. {{bibref|EasyMesh|Clause 17.2.15}}

          {{deprecated|2.15|because it is not available in EasyMesh}}
        </description>
        <syntax>
          <int>
            <range minInclusive="-90" maxInclusive="36"/>
            <units value="dBm"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="APNumberOfEntries" access="readOnly"
          status="deprecated">
        <description>
          {{numentries}}

          {{deprecated|2.15| because the {{object|#.AP.{i}.}}}} is being
          deprecated.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.WiFi.MultiAP.APDevice.{i}.Radio.{i}.AP.{i}."
        access="readOnly" numEntriesParameter="APNumberOfEntries"
        minEntries="0" maxEntries="unbounded" status="deprecated"
        version="2.13">
      <description>
        A single logical Access Point operating on this radio.

        {{deprecated|2.15|because it has moved to
        {{object|####.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.MultiAPSteering.}}
        except {{param|SSID}}and {{param|BSSID}} which are duplicated in
        {{object|####.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.}}}}
      </description>
      <uniqueKey>
        <parameter ref="BSSID"/>
      </uniqueKey>

      <parameter name="BSSID" access="readOnly">
        <description>
          The MAC Address of the logical BSS (BSSID).
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="SSID" access="readOnly">
        <description>
          The SSID in use for this BSS.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="BlacklistAttempts" access="readOnly">
        <description>
          Number of times a Blacklist steer was attempted for this Access
          Point.

          Blacklist steering is the process of forcing a connected STA to move
          to another Access Point by temporarily blocking its access to the
          current Access Point.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BTMAttempts" access="readOnly">
        <description>
          Number of times a BTM (BSS Transition Management; 802.11k) steer was
          attempted for this Access Point.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BTMQueryResponses" access="readOnly">
        <description>
          Number of asynchronous BTM (BSS Transition Management; 802.11k)
          Queries for which a BTM Request was issued by this Access Point.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="AssociatedDeviceNumberOfEntries" access="readOnly"
          status="deprecated">
        <description>
          {{numentries}}

          {{deprecated|2.15| because the {{object|#.AssociatedDevice.{i}.}}}}
          is being deprecated.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="Device.WiFi.MultiAP.APDevice.{i}.Radio.{i}.AP.{i}.AssociatedDevice.{i}."
        access="readOnly" numEntriesParameter="AssociatedDeviceNumberOfEntries"
        minEntries="0" maxEntries="unbounded" status="deprecated"
        version="2.13">
      <description>
        Object describing a single Associated Device (STA).

        {{deprecated|2.15|because it has moved {{param|AssociationTime}},
        {{param|Noise}} into
        {{object|#####.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.MultiAPSTA.}}
        and the remaining parameters are duplicated in
        {{object|#####.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.}}
        except {{param|OperatingStandard}}}} which was deprecated as noted.
      </description>
      <uniqueKey>
        <parameter ref="MACAddress"/>
      </uniqueKey>

      <parameter name="MACAddress" access="readOnly">
        <description>
          The MAC address of an associated device.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="OperatingStandard" access="readOnly"
          status="deprecated">
        <description>
          The operating standard that this associated device is connected with.
          {{enum}}

          {{deprecated|2.15|because this information cannot be obtained by
          EasyMesh}}
        </description>
        <syntax>
          <string>
            <enumeration value="a">
              <description>{{bibref|802.11a-1999}}</description>
            </enumeration>
            <enumeration value="b">
              <description>{{bibref|802.11b-1999}}</description>
            </enumeration>
            <enumeration value="g">
              <description>{{bibref|802.11g-2003}}</description>
            </enumeration>
            <enumeration value="n">
              <description>{{bibref|802.11n-2009}}</description>
            </enumeration>
            <enumeration value="ac">
              <description>{{bibref|802.11ac-2013}}</description>
            </enumeration>
            <enumeration value="ax">
              <description>{{bibref|802.11ax}}</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="Active" access="readOnly" status="deprecated">
        <description>
          Whether or not this associated device is currently present on the
          Wi-Fi Access Point device.

          The ability to list inactive nodes is OPTIONAL. If the Access Point
          devices includes inactive nodes in this table, {{param}} MUST be set
          to {{false}} for each inactive node. The length of time an inactive
          node remains listed in this table is a local matter to the CPE.

          {{deprecated|2.15|because this information cannot be obtained by
          EasyMesh}}
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="AssociationTime" access="readOnly">
        <description>
          Date and time in UTC when the device was associated.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="LastDataDownlinkRate" access="readOnly">
        <description>
          The data transmit rate in {{units}} that was most recently used for
          transmission of data from the access point to the associated device.
        </description>
        <syntax>
          <unsignedInt>
            <units value="kbps"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="LastDataUplinkRate" access="readOnly">
        <description>
          The data transmit rate in {{units}} that was most recently used for
          transmission of data from the associated device to the access point.
        </description>
        <syntax>
          <unsignedInt>
            <units value="kbps"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="SignalStrength" access="readOnly">
        <description>
          An indicator of radio signal strength of the uplink from the
          Associated Device (STA) to the Access Point (AP) measured in
          {{units}}. RCPI threshold is encoded per {{bibref|802.11-2020|Table
          9-176}}.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
            <units value="dBm"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Noise" access="readOnly">
        <description>
          An indicator of the average radio noise plus interference power
          measured on the uplink from the Associated Device (STA) to the Access
          Point (AP).

          Encoded as defined for ANPI in {{bibref|802.11-2020|Section
          11.10.9.4}}.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="SteeringHistoryNumberOfEntries" access="readOnly"
          status="deprecated">
        <description>
          {{numentries}}

          {{deprecated|2.15| because the
          {{object|#####.MultiAP.APDevice.{i}.Radio.{i}.AP.{i}.AssociatedDevice.{i}.SteeringHistory.{i}.}}}}
          is being deprecated.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object
        name="Device.WiFi.MultiAP.APDevice.{i}.Radio.{i}.AP.{i}.AssociatedDevice.{i}.Stats."
        access="readOnly" minEntries="1" maxEntries="1" status="deprecated"
        version="2.13">
      <description>
        Object describing the Statistics for a single Associated Device (STA).

        {{deprecated|2.15|because it is duplicated in
        {{object|######.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.}}}}
      </description>

      <parameter name="BytesSent" access="readOnly">
        <description>
          The total number of bytes transmitted to the Associated Device.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BytesReceived" access="readOnly">
        <description>
          The total number of bytes received from the Associated Device.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="PacketsSent" access="readOnly">
        <description>
          The total number of packets transmitted to the Associated Device.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="PacketsReceived" access="readOnly">
        <description>
          The total number of packets received from the Associated Device.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="ErrorsSent" access="readOnly">
        <description>
          The total number of outbound packets that could not be transmitted
          because of errors. These might be due to the number of
          retransmissions exceeding the retry limit, or from other causes.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="ErrorsReceived" access="readOnly">
        <description>
          The total number of inbound packets that contained errors preventing
          them from being delivered to a higher-layer protocol.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="RetransCount" access="readOnly">
        <description>
          The total number of transmitted packets which were retransmissions.
          Two retransmissions of the same packet results in this counter
          incrementing by two.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>
    </object>

    <object
        name="Device.WiFi.MultiAP.APDevice.{i}.Radio.{i}.AP.{i}.AssociatedDevice.{i}.SteeringSummaryStats."
        access="readOnly" minEntries="1" maxEntries="1" status="deprecated"
        version="2.13">
      <description>
        The summary of statistics related to Multi-AP Steering for an
        individual STA on the Wi-Fi network.

        The counters contained in {{object}} are all reset on reboot.

        {{deprecated|2.15|because it has moved to
        {{object|######.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.MultiAPSTA.SteeringSummaryStats.}}}}
      </description>

      <parameter name="NoCandidateAPFailures" access="readOnly">
        <description>
          Number of times this Associated Device should have been steered but
          wasn't because a better candidate AP couldn't be found.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BlacklistAttempts" access="readOnly">
        <description>
          Number of times a Blacklist steer was attempted on this Associated
          Device.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BlacklistSuccesses" access="readOnly">
        <description>
          Number of times an attempted Blacklist steer succeeded for this
          Associated Device.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BlacklistFailures" access="readOnly">
        <description>
          Number of times an attempted Blacklist steer failed for this
          Associated Device.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BTMAttempts" access="readOnly">
        <description>
          Number of times a BTM (BSS Transition Management; 802.11k) steer was
          attempted on this Associated Device.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BTMSuccesses" access="readOnly">
        <description>
          Number of times an attempted BTM (BSS Transition Management; 802.11k)
          steer succeeded for this Associated Device.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BTMFailures" access="readOnly">
        <description>
          Number of times an attempted BTM (BSS Transition Management; 802.11k)
          steer failed for this Associated Device.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BTMQueryResponses" access="readOnly">
        <description>
          Number of asynchronous BTM (BSS Transition Management; 802.11k)
          Queries for which a BTM Request was issued to this Associated Device.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="LastSteerTime" access="readOnly">
        <description>
          The number of {{units}} since this Associated Device was last
          attempted to be steered.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object
        name="Device.WiFi.MultiAP.APDevice.{i}.Radio.{i}.AP.{i}.AssociatedDevice.{i}.SteeringHistory.{i}."
        access="readOnly" numEntriesParameter="SteeringHistoryNumberOfEntries"
        minEntries="0" maxEntries="unbounded" status="deprecated"
        version="2.13">
      <description>
        The history of Multi-AP Steering for an individual STA on the Wi-Fi
        network.

        The contents of this multi-instance object are reset on reboot.

        {{deprecated|2.15|because it has moved to
        {{object|######.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.MultiAPSTA.SteeringHistory.{i}.}}}}
      </description>
      <uniqueKey>
        <parameter ref="Time"/>
        <parameter ref="APOrigin"/>
        <parameter ref="APDestination"/>
      </uniqueKey>

      <parameter name="Time" access="readOnly">
        <description>
          The date/time when steering was initiated for the Associated Device.
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="APOrigin" access="readOnly">
        <description>
          The BSSID of the Access Point that initiated the steering.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="TriggerEvent" access="readOnly">
        <description>
          The type of event that caused the steering to be initiaited. {{enum}}

          NOTE: This might be Unknown for BTM Query Response steers.
        </description>
        <syntax>
          <string>
            <enumeration value="Unknown"/>
            <enumeration value="Wi-Fi Channel Utilization"/>
            <enumeration value="Wi-Fi Link Quality"/>
            <enumeration value="Backhaul Link Utilization"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SteeringApproach" access="readOnly">
        <description>
          The type of steering that was attempted. {{enum}}
        </description>
        <syntax>
          <string>
            <enumeration value="Blacklist"/>
            <enumeration value="BTM Request"/>
            <enumeration value="Async BTM Query"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="APDestination" access="readOnly">
        <description>
          The BSSID of the destination Access Point of a successful steer.

          A failed steering attempt will leave this parameter {{empty}}.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="SteeringDuration" access="readOnly">
        <description>
          The amount of time in {{units}} required for the steer to complete
          successfully.

          A failed steering attempt will leave this parameter 0.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>
  </component>

  <component name="WiFi">

    <object name="Device.WiFi." access="readOnly" minEntries="1"
        maxEntries="1" version="2.0">
      <description>
        The WiFi object is based on the IEEE 802.11 specifications
        ({{bibref|802.11-2020}}). It defines interface objects
        ({{object|Radio}} and {{object|SSID}}), and application objects
        ({{object|AccessPoint}} and {{object|EndPoint}}).
      </description>

      <parameter name="RadioNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="SSIDNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AccessPointNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="EndPointNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ResetCounter" access="readOnly" version="2.12">
        <description>
          This parameter counts the number of WiFi host or driver resets since
          the last device reset. This parameter is reset to zero after the
          device resets, and increments with each successive WiFi host or
          driver reset.
        </description>
        <syntax>
          <dataType ref="StatsCounter32"/>
        </syntax>
      </parameter>

      <parameter name="ResetCause" access="readOnly" version="2.14">
        <description>
          Reports the cause for the previous Wi-Fi driver reset.
        </description>
        <syntax>
          <string>
            <enumeration value="HostReinit">
              <description>
                Indicates that the host processor intentionally performed the
                reset. This can be due to an external instruction.
              </description>
            </enumeration>
            <enumeration value="SpontaneousInterrupt">
              <description>
                Indicates that the reset was spontaneous. This can be due to an
                error condition.
              </description>
            </enumeration>
            <enumeration value="LossOfPower">
              <description>
                Indicates that the reset was due to a loss of mains power on
                the device.
              </description>
            </enumeration>
          </string>
        </syntax>
      </parameter>
    </object>
    <component ref="BBFEasyMesh"/>
    <component ref="WiFiAllianceDataElements"/>

    <object name="Device.WiFi.Radio.{i}." access="readOnly"
        numEntriesParameter="RadioNumberOfEntries" minEntries="0"
        maxEntries="unbounded" dmr:fixedObject="true" version="2.0">
      <description>
        This object models an 802.11 wireless radio on a device (a stackable
        interface object as described in {{bibref|TR-181i2|Section 4.2}}).

        If the device can establish more than one connection simultaneously
        (e.g. a dual radio device), a separate {{object}} instance MUST be used
        for each physical radio of the device. See {{bibref|TR-181i2|Appendix
        III.1}} for additional information.

        Note: A dual-band single-radio device (e.g. an 802.11a/b/g radio) can
        be configured to operate at 2.4 or 5 GHz frequency bands, but only a
        single frequency band is used to transmit/receive at a given time.
        Therefore, a single {{object}} instance is used even for a dual-band
        radio.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Name"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables the radio.

          This parameter is based on ''ifAdminStatus'' from {{bibref|RFC2863}}.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          The current operational state of the radio (see
          {{bibref|TR-181i2|Section 4.2.2}}). {{enum}}

          When {{param|Enable}} is {{false}} then {{param}} SHOULD normally be
          {{enum|Down}} (or {{enum|NotPresent}} or {{enum|Error}} if there is a
          fault condition on the interface).

          When {{param|Enable}} is changed to {{true}} then {{param}} SHOULD
          change to {{enum|Up}} if and only if the interface is able to
          transmit and receive network traffic; it SHOULD change to
          {{enum|Dormant}} if and only if the interface is operable but is
          waiting for external actions before it can transmit and receive
          network traffic (and subsequently change to {{enum|Up}} if still
          operable when the expected actions have completed); it SHOULD change
          to {{enum|LowerLayerDown}} if and only if the interface is prevented
          from entering the {{enum|Up}} state because one or more of the
          interfaces beneath it is down; it SHOULD remain in the {{enum|Error}}
          state if there is an error or other fault condition detected on the
          interface; it SHOULD remain in the {{enum|NotPresent}} state if the
          interface has missing (typically hardware) components; it SHOULD
          change to {{enum|Unknown}} if the state of the interface can not be
          determined for some reason.

          This parameter is based on ''ifOperStatus'' from {{bibref|RFC2863}}.
        </description>
        <syntax>
          <string>
            <enumeration value="Up"/>
            <enumeration value="Down"/>
            <enumeration value="Unknown"/>
            <enumeration value="Dormant"/>
            <enumeration value="NotPresent"/>
            <enumeration value="LowerLayerDown"/>
            <enumeration value="Error" optional="true"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="Name" access="readOnly">
        <description>
          The textual name of the radio as assigned by the CPE.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LastChange" access="readOnly" activeNotify="canDeny">
        <description>
          The accumulated time in {{units}} since the radio entered its current
          operational state.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="LowerLayers" access="readWrite">
        <description>
          {{list}} {{reference|an interface object that is stacked immediately
          below this interface object}} See {{bibref|TR-181i2|Section 4.2.1}}.

          Note: Since {{object}} is a layer 1 interface, it is expected that
          {{param}} will not be used.
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string>
            <pathRef refType="strong" targetType="row"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Upstream" access="readOnly">
        <description>
          Indicates whether the interface points towards the Internet
          ({{true}}) or towards End Devices ({{false}}).

          For example:

          * For an Internet Gateway Device, {{param}} will be {{true}} for all
            WAN interfaces and {{false}} for all LAN interfaces.

          * For a standalone WiFi Access Point that is connected via Ethernet
            to an Internet Gateway Device, {{param}} will be {{true}} for the
            Ethernet interface and {{false}} for the WiFi Radio interface.

          * For an End Device, {{param}} will be {{true}} for all interfaces.

          An interface might have some SSIDs pointing towards the Internet and
          other SSIDs pointing towards End Devices. This is indicated by the
          associated {{param|#.SSID.{i}.Upstream}} parameters. This interface's
          {{param}} parameter is set to {{true}} if any of the associated
          ''SSID.{i}.Upstream'' parameters are {{true}}, and is set to
          {{false}} otherwise.

          This parameter was DEPRECATED in 2.12 (and then OBSOLETED in 2.14)
          because it couldn't describe all multi-SSID use cases. It has now
          been restored, and its multi-SSID behavior has been clarified.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="MaxBitRate" access="readOnly">
        <description>
          The maximum PHY bit rate supported by this interface (expressed in
          {{units}}).
        </description>
        <syntax>
          <unsignedInt>
            <units value="Mbps"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="SupportedFrequencyBands" access="readOnly">
        <description>
          {{list}} List items indicate the frequency bands at which the radio
          can operate.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="2.4GHz"/>
            <enumeration value="5GHz"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="OperatingFrequencyBand" access="readWrite">
        <description>
          Indicates the frequency band at which the radio is operating.

          If the radio supports multiple bands, and {{param}} is changed, then
          all parameters whose value is not valid for the new frequency band
          (e.g. {{param|Channel}}) MUST be set to a valid value (according to
          some CPE vendor-specific behavior).
        </description>
        <syntax>
          <string>
            <enumerationRef targetParam="SupportedFrequencyBands"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SupportedStandards" access="readOnly">
        <description>
          {{list}} List items indicate which IEEE 802.11 standards this
          {{object}} instance can support simultaneously, in the frequency band
          specified by {{param|OperatingFrequencyBand}}. {{enum}}

          Each value indicates support for the indicated standard.

          If {{param|OperatingFrequencyBand}} is set to
          {{enum|2.4GHz|OperatingFrequencyBand}}, only values {{enum|b}},
          {{enum|g}}, {{enum|n}}, {{enum|ax}} are allowed.

          If {{param|OperatingFrequencyBand}} is set to
          {{enum|5GHz|OperatingFrequencyBand}}, only values {{enum|a}},
          {{enum|n}}, {{enum|ac}}, {{enum|ax}} are allowed.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="a">
              <description>{{bibref|802.11a-1999}}</description>
            </enumeration>
            <enumeration value="b">
              <description>{{bibref|802.11b-1999}}</description>
            </enumeration>
            <enumeration value="g">
              <description>{{bibref|802.11g-2003}}</description>
            </enumeration>
            <enumeration value="n">
              <description>{{bibref|802.11n-2009}}</description>
            </enumeration>
            <enumeration value="ac">
              <description>{{bibref|802.11ac-2013}}</description>
            </enumeration>
            <enumeration value="ax">
              <description>{{bibref|802.11ax}}</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="OperatingStandards" access="readWrite">
        <description>
          {{list}} List items indicate which IEEE 802.11 standard this
          {{object}} instance is configured for.

          Each value indicates support for the indicated standard.

          If {{param|OperatingFrequencyBand}} is set to
          {{enum|2.4GHz|OperatingFrequencyBand}}, only values {{enum|b}},
          {{enum|g}}, {{enum|n}}, {{enum|ax}} are allowed.

          If {{param|OperatingFrequencyBand}} is set to
          {{enum|5GHz|OperatingFrequencyBand}}, only values {{enum|a}},
          {{enum|n}}, {{enum|ac}}, {{enum|ax}} are allowed.

          For example, a value of "g,b" (or "b,g" - order is not important)
          means that the 802.11g standard {{bibref|802.11g-2003}} is used with
          a backwards-compatible mode for 802.11b {{bibref|802.11b-1999}}. A
          value of "g" means that only the 802.11g standard can be used.
        </description>
        <syntax>
          <list/>
          <string>
            <enumerationRef targetParam="SupportedStandards"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="PossibleChannels" access="readOnly">
        <description>
          {{list}} List items represent possible radio channels for the
          wireless standard (a, b, g, n, ac, ax) and the regulatory domain.

          Ranges in the form "n-m" are permitted.

          For example, for 802.11b and North America, would be "1-11".
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="ChannelsInUse" access="readOnly" activeNotify="canDeny">
        <description>
          {{list}} List items represent channels that the radio determines to
          be currently in use (including any that it is using itself).

          Ranges in the form "n-m" are permitted.
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="Channel" access="readWrite">
        <description>
          The current radio channel used by the connection. To request
          automatic channel selection, set {{param|AutoChannelEnable}} to
          {{true}}.

          Whenever {{param|AutoChannelEnable}} is {{true}}, the value of the
          {{param}} parameter MUST be the channel selected by the automatic
          channel selection procedure.

          For channels in "wide mode" (802.11n where a 40MHz channel bandwidth
          is used), this parameter is used for Primary Channel only. The
          secondary or extension channel information is available through
          {{param|ExtensionChannel}}.

          Note: Valid {{param}} values depend on the
          {{param|OperatingFrequencyBand}} value specified and the
          {{param|RegulatoryDomain}}.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1" maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="AutoChannelSupported" access="readOnly">
        <description>
          Indicates whether automatic channel selection is supported by this
          radio. If {{false}}, then {{param|AutoChannelEnable}} MUST be
          {{false}}.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="AutoChannelEnable" access="readWrite">
        <description>
          Enable or disable automatic channel selection.

          Set to {{false}} to disable the automatic channel selection
          procedure, in which case the currently selected channel remains
          selected.

          Set to {{true}} to enable the automatic channel selection procedure.
          This procedure MUST automatically select the channel, and MAY also
          change it subsequently.

          {{param}} MUST automatically change to {{false}} whenever the channel
          is manually selected, i.e. whenever the {{param|Channel}} parameter
          is written.

          Whenever {{param}} is {{true}}, the value of the {{param|Channel}}
          parameter MUST be the channel selected by the automatic channel
          selection procedure.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="AutoChannelRefreshPeriod" access="readWrite">
        <description>
          The time period in {{units}} between two consecutive automatic
          channel selections. A value of 0 means that the automatic channel
          selection is done only at boot time.

          This parameter is significant only if {{param|AutoChannelEnable}} is
          set to {{true}}.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ChannelLastChange" access="readOnly"
          activeNotify="canDeny" version="2.12">
        <description>
          The accumulated time in {{units}} since the current {{param|Channel}}
          came into use.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ChannelLastSelectionReason" access="readOnly"
          version="2.12">
        <description>
          The cause of the last channel selection.
        </description>
        <syntax>
          <string>
            <enumeration value="Manual">
              <description>
                Manual selection of the {{param|Channel}}.
              </description>
            </enumeration>
            <enumeration value="Auto_Startup">
              <description>
                Automatic channel selection procedure launched at radio
                startup.
              </description>
            </enumeration>
            <enumeration value="Auto_User">
              <description>
                Automatic channel selection procedure triggered by the user
                (e.g. via a GUI).
              </description>
            </enumeration>
            <enumeration value="Auto_Refresh">
              <description>
                Automatic channel selection procedure triggered by the
                {{param|AutoChannelRefreshPeriod}} timer.
              </description>
            </enumeration>
            <enumeration value="Auto_Dynamic">
              <description>
                Automatic channel selection procedure dynamically triggered to
                adjust to environmental interference.
              </description>
            </enumeration>
            <enumeration value="Auto_DFS">
              <description>
                Automatic channel selection procedure triggered by Dynamic
                Frequency Selection (DFS) {{bibref|ETSIBRAN}}.
              </description>
            </enumeration>
            <enumeration value="Unknown"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="MaxSupportedSSIDs" access="readOnly" version="2.12">
        <description>
          Maximum number of SSIDs supported on this radio.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="MaxSupportedAssociations" access="readOnly"
          version="2.12">
        <description>
          Maximum number of associated devices supported.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="FirmwareVersion" access="readOnly" version="2.12">
        <description>
          This radio's WiFi firmware version.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SupportedOperatingChannelBandwidths" access="readOnly"
          version="2.12">
        <description>
          {{list}} These are the valid writable values for
          {{param|OperatingChannelBandwidth}}.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="20MHz"/>
            <enumeration value="40MHz">
              <description>wide mode</description>
            </enumeration>
            <enumeration value="80MHz">
              <description>802.11ac and 802.11ax only</description>
            </enumeration>
            <enumeration value="160MHz">
              <description>802.11ac and 802.11ax only</description>
            </enumeration>
            <enumeration value="80+80MHz">
              <description>802.11ac and 802.11ax only</description>
            </enumeration>
            <enumeration value="Auto"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="OperatingChannelBandwidth" access="readWrite">
        <description>
          The preferred channel bandwidth to be used (applicable to 802.11n,
          802.11ac, and 802.11ax specifications only).
        </description>
        <syntax>
          <string>
            <enumerationRef targetParam="SupportedOperatingChannelBandwidths"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="CurrentOperatingChannelBandwidth" access="readOnly"
          version="2.11">
        <description>
          The channel bandwidth currently in use.
        </description>
        <syntax>
          <string>
            <enumeration value="20MHz"/>
            <enumeration value="40MHz"/>
            <enumeration value="80MHz"/>
            <enumeration value="160MHz"/>
            <enumeration value="80+80MHz"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ExtensionChannel" access="readWrite">
        <description>
          The secondary extension channel position (applicable to the 802.11n
          specification only), applicable when operating in wide channel mode
          (i.e. when {{param|OperatingChannelBandwidth}} is set to
          {{enum|40MHz|OperatingChannelBandwidth}} or
          {{enum|Auto|OperatingChannelBandwidth}}).
        </description>
        <syntax>
          <string>
            <enumeration value="AboveControlChannel"/>
            <enumeration value="BelowControlChannel"/>
            <enumeration value="Auto"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="GuardInterval" access="readWrite">
        <description>
          The guard interval value between OFDM symbols.
        </description>
        <syntax>
          <string>
            <enumeration value="400nsec">
              <description>
                applicable to 802.11n and 802.11ac specifications only
              </description>
            </enumeration>
            <enumeration value="800nsec">
              <description>
                applicable to 802.11n and 802.11ac specifications only
              </description>
            </enumeration>
            <enumeration value="1xLTF_0.8us" version="2.14">
              <description>
                applicable to 802.11ax specification only
              </description>
            </enumeration>
            <enumeration value="1xLTF_1.6us" version="2.14">
              <description>
                applicable to 802.11ax specification only
              </description>
            </enumeration>
            <enumeration value="2xLTF_0.8us" version="2.14">
              <description>
                applicable to 802.11ax specification only
              </description>
            </enumeration>
            <enumeration value="2xLTF_1.6us" version="2.14">
              <description>
                applicable to 802.11ax specification only
              </description>
            </enumeration>
            <enumeration value="4xLTF_0.8us" version="2.14">
              <description>
                applicable to 802.11ax specification only
              </description>
            </enumeration>
            <enumeration value="4xLTF_3.2us" version="2.14">
              <description>
                applicable to 802.11ax specification only
              </description>
            </enumeration>
            <enumeration value="Auto"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="CenterFrequencySegement0" access="readWrite"
          status="deprecated" version="2.13">
        <description>
          When operating in {{enum|80+80MHz|CurrentOperatingChannelBandwidth}},
          this parameter determines the Center Frequency Segment 0 for the
          first 80 MHz channel. See {{bibref|802.11-2016|Section 9.4.2.161}}
          and Table 9-252.

          {{deprecated|2.14|due to a typo. Use
          {{param|CenterFrequencySegment0}} instead}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CenterFrequencySegement1" access="readWrite"
          status="deprecated" version="2.13">
        <description>
          When operating in {{enum|80+80MHz|CurrentOperatingChannelBandwidth}},
          this parameter determines the Center Frequency Segment 1 for the
          second 80 MHz channel. See {{bibref|802.11-2016|Section 9.4.2.161}}
          and Table 9-252.

          {{deprecated|2.14|due to a typo. Use
          {{param|CenterFrequencySegment1}} instead}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CenterFrequencySegment0" access="readWrite"
          version="2.14">
        <description>
          When operating in {{enum|80+80MHz|CurrentOperatingChannelBandwidth}},
          this parameter determines the Center Frequency Segment 0 for the
          first 80 MHz channel. See {{bibref|802.11-2016|Section 9.4.2.161}}
          and Table 9-252.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CenterFrequencySegment1" access="readWrite"
          version="2.14">
        <description>
          When operating in {{enum|80+80MHz|CurrentOperatingChannelBandwidth}},
          this parameter determines the Center Frequency Segment 1 for the
          second 80 MHz channel. See {{bibref|802.11-2016|Section 9.4.2.161}}
          and Table 9-252.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MCS" access="readWrite">
        <description>
          The Modulation Coding Scheme index (applicable to 802.11n, 802.11ac,
          and 802.11ax specifications only). Values from 0 to 15 MUST be
          supported for ({{bibref|802.11n-2009}}). Values from 0 to 9 MUST be
          supported for {{bibref|802.11ac-2013}}. Values from 0 to 11 MUST be
          supported for {{bibref|802.11ax}}. A value of -1 indicates automatic
          selection of the MCS index.
        </description>
        <syntax>
          <int>
            <range minInclusive="-1" maxInclusive="15"/>
            <range minInclusive="16" maxInclusive="31"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="TransmitPowerSupported" access="readOnly">
        <description>
          {{list}} List items represent supported transmit power levels as
          {{units}} of full power. For example, "0,25,50,75,100".

          A -1 item indicates auto mode (automatic decision by CPE). Auto mode
          allows the ''Radio'' to adjust transmit power accordingly. For
          example, this can be useful for power-save modes such as EU-CoC,
          where the ''Radio'' can adjust power according to activity in the
          CPE.
        </description>
        <syntax>
          <list>
            <size maxLength="64"/>
          </list>
          <int>
            <range minInclusive="-1" maxInclusive="100"/>
            <units value="percentage"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="TransmitPower" access="readWrite">
        <description>
          Indicates the current transmit power level as a {{units}} of full
          power. The value MUST be one of the values reported by the
          {{param|TransmitPowerSupported}} parameter. A value of -1 indicates
          auto mode (automatic decision by CPE).
        </description>
        <syntax>
          <int>
            <range minInclusive="-1" maxInclusive="100"/>
            <units value="percentage"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="IEEE80211hSupported" access="readOnly">
        <description>
          Indicates whether IEEE 802.11h {{bibref|802.11h-2003}} functionality
          is supported by this radio. The value can be {{true}} only if the
          802.11a or the 802.11n@5GHz standard is supported (i.e.
          {{param|SupportedFrequencyBands}} includes
          {{enum|5GHz|SupportedFrequencyBands}} and
          {{param|SupportedStandards}} includes {{enum|a|SupportedStandards}}
          and/or {{enum|n|SupportedStandards}}).
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="IEEE80211hEnabled" access="readWrite">
        <description>
          Indicates whether IEEE 802.11h functionality is enabled on this
          radio. The value can be {{true}} only if the 802.11a or the
          802.11n@5GHz standard is supported and enabled (i.e.
          {{param|OperatingFrequencyBand}} is
          {{enum|5GHz|OperatingFrequencyBand}} and {{param|OperatingStandards}}
          includes {{enum|a|OperatingStandards}} and/or
          {{enum|n|OperatingStandards}}).
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="RegulatoryDomain" access="readWrite">
        <description>
          The 802.11d Regulatory Domain. First two octets are
          {{bibref|ISO3166-1}} two-character country code. The third octet is
          either " " (all environments), "O" (outside) or "I" (inside).
        </description>
        <syntax>
          <string>
            <size minLength="3" maxLength="3"/>
            <pattern value="[A-Z][A-Z][ OI]"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="RetryLimit" access="readWrite" version="2.8">
        <description>
          The maximum number of retransmissions of a short packet i.e. a packet
          that is no longer than the {{param|RTSThreshold}}. This corresponds
          to IEEE 802.11 parameter ''dot11ShortRetryLimit''
          {{bibref|802.11-2012}}.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="7"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="CCARequest" access="readWrite" version="2.8">
        <description>
          A request for the clear channel assessment (CCA) report in the format
          specified in {{bibref|802.11-2012|Clause 8.4.2.23.3}}.
        </description>
        <syntax>
          <hexBinary>
            <size minLength="11" maxLength="11"/>
          </hexBinary>
        </syntax>
      </parameter>

      <parameter name="CCAReport" access="readOnly" version="2.8">
        <description>
          The clear channel assessment (CCA) report in the format specified in
          {{bibref|802.11-2012|Clause 8.4.2.24.3}}.

          When read, the value of this parameter MUST correspond to
          {{param|CCARequest}}. How this is achieved is a local matter to the
          CPE.

          If this parameter is read before a CCARequest has been issued, then
          its value is {{empty}}.
        </description>
        <syntax>
          <hexBinary>
            <size minLength="12" maxLength="12"/>
          </hexBinary>
        </syntax>
      </parameter>

      <parameter name="RPIHistogramRequest" access="readWrite" version="2.8">
        <description>
          A request for a received power indicator (RPI) histogram in the
          format specified in {{bibref|802.11-2012|Clause 8.4.2.23.4}}.
        </description>
        <syntax>
          <hexBinary>
            <size minLength="11" maxLength="11"/>
          </hexBinary>
        </syntax>
      </parameter>

      <parameter name="RPIHistogramReport" access="readOnly" version="2.8">
        <description>
          Received power indicator (RPI) histogram report in the format
          specified in {{bibref|802.11-2012|Clause 8.4.2.24.4}}.
        </description>
        <syntax>
          <hexBinary>
            <size minLength="19" maxLength="19"/>
          </hexBinary>
        </syntax>
      </parameter>

      <parameter name="FragmentationThreshold" access="readWrite"
          version="2.8">
        <description>
          This specifies the current maximum size, in {{units}}, of the MPDU
          that can be delivered to the PHY. This parameter is based on
          ''dot11FragmentationThreshold'' from {{bibref|802.11-2012}}.
        </description>
        <syntax>
          <unsignedInt>
            <units value="octets"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="RTSThreshold" access="readWrite" version="2.8">
        <description>
          This indicates the number of {{units}} in an MPDU, below which an
          RTS/CTS handshake is not performed. This parameter is based on
          ''dot11RTSThreshold'' from {{bibref|802.11-2012}}.
        </description>
        <syntax>
          <unsignedInt>
            <units value="octets"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="LongRetryLimit" access="readWrite" version="2.8">
        <description>
          This indicates the maximum number of transmission attempts of a
          frame, the length of which is greater than {{param|RTSThreshold}},
          that will be made before a failure condition is indicated. This
          parameter is based on ''dot11LongRetryLimit'' from
          {{bibref|802.11-2012}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BeaconPeriod" access="readWrite" version="2.8">
        <description>
          Time interval between transmitting beacons (expressed in {{units}}).
          This parameter is based on ''dot11BeaconPeriod'' from
          {{bibref|802.11-2012}}.
        </description>
        <syntax>
          <unsignedInt>
            <units value="milliseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="DTIMPeriod" access="readWrite" version="2.8">
        <description>
          This specifies the number of beacon intervals that elapse between
          transmission of Beacon frames containing a TIM element whose DTIM
          Count field is 0. This parameter is based on ''dot11DTIMPeriod'' from
          {{bibref|802.11-2020}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketAggregationEnable" access="readWrite"
          version="2.8">
        <description>
          This determines whether or not packet aggregation (commonly called
          "frame aggregation") is enabled. This applies only to 802.11n.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="PreambleType" access="readWrite" version="2.8">
        <description>
          The type of preamble. Longer preambles (more overhead) are needed by
          802.11g to coexist with legacy systems 802.11 and 802.11b.
        </description>
        <syntax>
          <string>
            <enumeration value="short"/>
            <enumeration value="long"/>
            <enumeration value="auto"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="BasicDataTransmitRates" access="readWrite"
          version="2.8">
        <description>
          {{list}} The set of data rates, in ''Mbps'', that have to be
          supported by all stations that desire to join this BSS. The stations
          have to be able to receive and transmit at each of the data rates
          listed in {{param}}. For example, a value of "1,2", indicates that
          stations support 1 Mbps and 2 Mbps. Most control packets use a data
          rate in {{param}}.
        </description>
        <syntax>
          <list/>
          <string/>
        </syntax>
      </parameter>

      <parameter name="OperationalDataTransmitRates" access="readWrite"
          version="2.8">
        <description>
          {{list}} Maximum access point data transmit rates in ''Mbps'' for
          unicast frames (a superset of {{param|BasicDataTransmitRates}}).
          Given the value of {{param|BasicDataTransmitRates}} from the example
          above, {{param}} might be "1,2,5.5,11", indicating that unicast
          frames can additionally be transmitted at 5.5 Mbps and 11 Mbps.
        </description>
        <syntax>
          <list/>
          <string/>
        </syntax>
      </parameter>

      <parameter name="SupportedDataTransmitRates" access="readOnly"
          version="2.8">
        <description>
          {{list}} Data transmit rates in ''Mbps'' for unicast frames at which
          the access point will permit a station to connect (a subset of
          {{param|OperationalDataTransmitRates}}). Given the values of
          {{param|BasicDataTransmitRates}} and
          {{param|OperationalDataTransmitRates}} from the examples above,
          {{param}} might be "1,2,5.5", indicating that the AP will only permit
          connections at 1 Mbps, 2 Mbps and 5.5 Mbps, even though it could
          theoretically accept connections at 11 Mbps.
        </description>
        <syntax>
          <list/>
          <string/>
        </syntax>
      </parameter>

      <parameter name="EnableRRM" access="readWrite" version="2.14">
        <description>
          Enables or disables 802.11k {{bibref|802.11k}} Radio Resource
          Management (RRM).
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="ManagementPacketRate" access="readWrite" version="2.15">
        <description>
          The rate of Wi-Fi management frames (expressed in {{units}}).
        </description>
        <syntax>
          <unsignedInt>
            <units value="kbps"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object name="Device.WiFi.Radio.{i}.Stats." access="readOnly"
        minEntries="1" maxEntries="1" version="2.0">
      <description>
        Throughput statistics for this interface. Packet counters here count
        802.11 WiFi frames. See {{bibref|TR-181i2|Appendix III}} for further
        details. The CPE MUST reset the interface's Stats parameters (unless
        otherwise stated in individual object or parameter descriptions) either
        when the interface becomes operationally down due to a previous
        administrative down (i.e. the interface's {{param|#.Status}} parameter
        transitions to a down state after the interface is disabled) or when
        the interface becomes administratively up (i.e. the interface's
        {{param|#.Enable}} parameter transitions from {{false}} to {{true}}).
        Administrative and operational interface status is discussed in
        {{bibref|TR-181i2|Section 4.2.2}}.
      </description>

      <parameter name="CtsReceived" access="readOnly" version="2.14">
        <description>
          The total number of Request To Send (RTS) control frames that
          received a Clear To Send (CTS) response.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="NoCtsReceived" access="readOnly" version="2.14">
        <description>
          The total number of Request To Send (RTS) control frames that did not
          receive a Clear To Send (CTS) response.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="FrameHeaderError" access="readOnly" version="2.14">
        <description>
          The total number of received packets for which the PHY was able to
          correlate the preamble but not the header.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="GoodPLCPReceived" access="readOnly" version="2.14">
        <description>
          The total number of received frames with a good Physical Layer
          Convergence Protocol (PLCP) header.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="DPacketOtherMACReceived" access="readOnly"
          version="2.14">
        <description>
          The total number of Wi-Fi data packets received from other Basic
          Service Sets (BSSs), with a good Frame Check Sequence (FCS) and not
          matching the receiver address, meaning that that the frame is
          received at the MAC layer but is addressed to a different MAC.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="MPacketOtherMACReceived" access="readOnly"
          version="2.14">
        <description>
          The total number of Wi-Fi management packets received from other
          Basic Service Sets (BSSs), with a good Frame Check Sequence (FCS) and
          not matching the receiver address, meaning that that the frame is
          received at the MAC layer but is addressed to a different MAC.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="CPacketOtherMACReceived" access="readOnly"
          version="2.14">
        <description>
          The total number of Wi-Fi control packets received from other Basic
          Service Sets (BSSs), with a good Frame Check Sequence (FCS) and not
          matching the receiver address, meaning that that the frame is
          received at the MAC layer but is addressed to a different MAC.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="CtsOtherMACReceived" access="readOnly" version="2.14">
        <description>
          The total number of received Clear to Send (CTS) packets not
          addressed to the MAC address of this receiver.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="RtsOtherMACReceived" access="readOnly" version="2.14">
        <description>
          The total number of received Request to Send (RTS) frames not
          addressed to the MAC address of this receiver.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BytesSent" access="readOnly" activeNotify="canDeny">
        <description>
          The total number of bytes transmitted out of the interface, including
          framing characters.
        </description>
        <syntax>
          <unsignedLong/>
        </syntax>
      </parameter>

      <parameter name="BytesReceived" access="readOnly" activeNotify="canDeny">
        <description>
          The total number of bytes received on the interface, including
          framing characters.
        </description>
        <syntax>
          <unsignedLong/>
        </syntax>
      </parameter>

      <parameter name="PacketsSent" access="readOnly" activeNotify="canDeny">
        <description>
          The total number of packets transmitted out of the interface.
        </description>
        <syntax>
          <unsignedLong/>
        </syntax>
      </parameter>

      <parameter name="PacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets received on the interface.
        </description>
        <syntax>
          <unsignedLong/>
        </syntax>
      </parameter>

      <parameter name="ErrorsSent" access="readOnly" activeNotify="canDeny">
        <description>
          The total number of outbound packets that could not be transmitted
          because of errors.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ErrorsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of inbound packets that contained errors preventing
          them from being delivered to a higher-layer protocol.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DiscardPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of outbound packets which were chosen to be
          discarded even though no errors had been detected to prevent their
          being transmitted. One possible reason for discarding such a packet
          could be to free up buffer space.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DiscardPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of inbound packets which were chosen to be discarded
          even though no errors had been detected to prevent their being
          delivered. One possible reason for discarding such a packet could be
          to free up buffer space.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PLCPErrorCount" access="readOnly" version="2.7">
        <description>
          The number of packets that were received with a detected Physical
          Layer Convergence Protocol (PLCP) header error.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="FCSErrorCount" access="readOnly" version="2.7">
        <description>
          The number of packets that were received with a detected FCS error.
          This parameter is based on dot11FCSErrorCount from
          {{bibref|802.11-2012|Annex C}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="InvalidMACCount" access="readOnly" version="2.7">
        <description>
          The number of packets that were received with a detected invalid MAC
          header error.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="PacketsOtherReceived" access="readOnly" version="2.7">
        <description>
          The number of packets that were received, but which were destined for
          a MAC address that is not associated with this interface.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="Noise" access="readOnly" version="2.8">
        <description>
          An indicator of average noise strength received at this radio,
          measured in {{units}}. This measurement of non-IEEE 802.11 noise
          power is made by sampling the channel when virtual carrier sense
          indicates idle and this radio is neither transmitting nor receiving a
          frame.
        </description>
        <syntax>
          <int>
            <units value="dBm"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="TotalChannelChangeCount" access="readOnly"
          version="2.12">
        <description>
          The total number of times that the {{param|#.Channel}} has changed
          since the {{object|.WiFi.Radio}} entered its current operating state.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ManualChannelChangeCount" access="readOnly"
          version="2.12">
        <description>
          The number of times that the {{param|#.Channel}} has changed due to
          manual channel selection since the {{object|.WiFi.Radio}} entered its
          current operating state.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AutoStartupChannelChangeCount" access="readOnly"
          version="2.12">
        <description>
          The number of times that the {{param|#.Channel}} has changed due to
          automatic channel selection procedure launched at radio startup since
          the {{object|.WiFi.Radio}} entered its current operating state.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AutoUserChannelChangeCount" access="readOnly"
          version="2.12">
        <description>
          The number of times that the {{param|#.Channel}} has changed due to
          automatic channel selection procedure triggered by the user (e.g. via
          a GUI) since the {{object|.WiFi.Radio}} entered its current operating
          state.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AutoRefreshChannelChangeCount" access="readOnly"
          version="2.12">
        <description>
          The number of times that the {{param|#.Channel}} has changed due to
          automatic channel selection procedure triggered by the
          {{param|#.AutoChannelRefreshPeriod}} timer since the
          {{object|.WiFi.Radio}} entered its current operating state.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AutoDynamicChannelChangeCount" access="readOnly"
          version="2.12">
        <description>
          The number of times that the {{param|#.Channel}} has changed due to
          automatic channel selection procedure dynamically triggered to adjust
          to environmental interference since the {{object|.WiFi.Radio}}
          entered its current operating state.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AutoDFSChannelChangeCount" access="readOnly"
          version="2.12">
        <description>
          The number of times that the {{param|#.Channel}} has changed due to
          automatic channel selection procedure triggered by DFS
          {{bibref|ETSIBRAN}} since the {{object|.WiFi.Radio}} entered its
          current operating state.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.WiFi.SSID.{i}." access="readWrite"
        numEntriesParameter="SSIDNumberOfEntries" enableParameter="Enable"
        minEntries="0" maxEntries="unbounded" version="2.0">
      <description>
        WiFi SSID table (a stackable interface object as described in
        {{bibref|TR-181i2|Section 4.2}}), where table entries model the MAC
        layer. A WiFi SSID entry is typically stacked on top of a
        {{object|#.Radio}} object.

        WiFi SSID is also a multiplexing layer, i.e. more than one {{object}}
        can be stacked above a single {{object|#.Radio}}.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <uniqueKey functional="false">
        <parameter ref="Name"/>
      </uniqueKey>
      <uniqueKey>
        <parameter ref="BSSID"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables the SSID entry.

          This parameter is based on ''ifAdminStatus'' from {{bibref|RFC2863}}.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          The current operational state of the SSID entry (see
          {{bibref|TR-181i2|Section 4.2.2}}). {{enum}}

          When {{param|Enable}} is {{false}} then {{param}} SHOULD normally be
          {{enum|Down}} (or {{enum|NotPresent}} or {{enum|Error}} if there is a
          fault condition on the interface).

          When {{param|Enable}} is changed to {{true}} then {{param}} SHOULD
          change to {{enum|Up}} if and only if the interface is able to
          transmit and receive network traffic; it SHOULD change to
          {{enum|Dormant}} if and only if the interface is operable but is
          waiting for external actions before it can transmit and receive
          network traffic (and subsequently change to {{enum|Up}} if still
          operable when the expected actions have completed); it SHOULD change
          to {{enum|LowerLayerDown}} if and only if the interface is prevented
          from entering the {{enum|Up}} state because one or more of the
          interfaces beneath it is down; it SHOULD remain in the {{enum|Error}}
          state if there is an error or other fault condition detected on the
          interface; it SHOULD remain in the {{enum|NotPresent}} state if the
          interface has missing (typically hardware) components; it SHOULD
          change to {{enum|Unknown}} if the state of the interface can not be
          determined for some reason.

          This parameter is based on ''ifOperStatus'' from {{bibref|RFC2863}}.
        </description>
        <syntax>
          <string>
            <enumeration value="Up"/>
            <enumeration value="Down"/>
            <enumeration value="Unknown"/>
            <enumeration value="Dormant"/>
            <enumeration value="NotPresent"/>
            <enumeration value="LowerLayerDown"/>
            <enumeration value="Error" optional="true"/>
          </string>
          <default type="object" value="Down"/>
        </syntax>
      </parameter>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="Name" access="readOnly">
        <description>
          The textual name of the SSID entry as assigned by the CPE.
        </description>
        <syntax>
          <string>
            <size maxLength="64"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="LastChange" access="readOnly" activeNotify="canDeny">
        <description>
          The accumulated time in {{units}} since the SSID entered its current
          operational state.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="LowerLayers" access="readWrite">
        <description>
          {{list}} {{reference|an interface object that is stacked immediately
          below this interface object}} See {{bibref|TR-181i2|Section 4.2.1}}.
        </description>
        <syntax>
          <list>
            <size maxLength="1024"/>
          </list>
          <string>
            <pathRef refType="strong" targetType="row"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="BSSID" access="readOnly">
        <description>
          The Basic Service Set ID.

          This is the MAC address of the access point, which can either be
          local (when this instance models an access point SSID) or remote
          (when this instance models an end point SSID).
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="MACAddress" access="readOnly">
        <description>
          The MAC address of this interface.

          If this instance models an access point SSID, {{param}} is the same
          as {{param|BSSID}}.

          Note: This is not necessarily the same as the Ethernet header source
          or destination MAC address, which is associated with the IP interface
          and is modeled via the {{param|.Ethernet.Link.{i}.MACAddress}}
          parameter.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="SSID" access="readWrite">
        <description>
          The current service set identifier in use by the connection. The SSID
          is an identifier that is attached to packets sent over the wireless
          LAN that functions as an ID for joining a particular radio network
          (BSS).
        </description>
        <syntax>
          <string>
            <size maxLength="32"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Upstream" access="readOnly" version="2.12">
        <description>
          Indicates whether the interface points towards the Internet
          ({{true}}) or towards End Devices ({{false}}).

          For example:

          * For an Internet Gateway Device, {{param}} will be {{true}} for all
            WAN interfaces and {{false}} for all LAN interfaces.

          * For a standalone WiFi Access Point that is connected via Ethernet
            to an Internet Gateway Device, {{param}} will be {{true}} for the
            Ethernet interface and {{false}} for the WiFi Radio interface.

          * For an End Device, {{param}} will be {{true}} for all interfaces.

          See {{param|#.Radio.{i}.Upstream}} for details of how the two
          ''Upstream'' parameters interact.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="ATFEnable" access="readWrite" version="2.14">
        <description>
          Enables or disables Air Time Fairness (ATF).
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="FlushATFTable" access="readWrite" version="2.14">
        <description>
          After this parameter is set to true, the ATF configuration of the
          interface will be reset.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="SetATF" access="readWrite" version="2.14">
        <description>
          Configures the ATF setting for all associated devices on an
          individual SSID. Expressed as percentage of airtime, such that no
          station should exceed this percentage.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="100"/>
            <units value="percent"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object name="Device.WiFi.SSID.{i}.Stats." access="readOnly"
        minEntries="1" maxEntries="1" version="2.0">
      <description>
        Throughput statistics for this interface. Packet counters here count
        802.11 WiFi frames. See {{bibref|TR-181i2|Appendix III}} for further
        details. The CPE MUST reset the interface's Stats parameters (unless
        otherwise stated in individual object or parameter descriptions) either
        when the interface becomes operationally down due to a previous
        administrative down (i.e. the interface's {{param|#.Status}} parameter
        transitions to a down state after the interface is disabled) or when
        the interface becomes administratively up (i.e. the interface's
        {{param|#.Enable}} parameter transitions from {{false}} to {{true}}).
        Administrative and operational interface status is discussed in
        {{bibref|TR-181i2|Section 4.2.2}}.
      </description>

      <parameter name="BytesSent" access="readOnly" activeNotify="canDeny">
        <description>
          The total number of bytes transmitted out of the interface, including
          framing characters.
        </description>
        <syntax>
          <unsignedLong/>
        </syntax>
      </parameter>

      <parameter name="BytesReceived" access="readOnly" activeNotify="canDeny">
        <description>
          The total number of bytes received on the interface, including
          framing characters.
        </description>
        <syntax>
          <unsignedLong/>
        </syntax>
      </parameter>

      <parameter name="PacketsSent" access="readOnly" activeNotify="canDeny">
        <description>
          The total number of packets transmitted out of the interface.
        </description>
        <syntax>
          <unsignedLong/>
        </syntax>
      </parameter>

      <parameter name="PacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets received on the interface.
        </description>
        <syntax>
          <unsignedLong/>
        </syntax>
      </parameter>

      <parameter name="ErrorsSent" access="readOnly">
        <description>
          The total number of outbound packets that could not be transmitted
          because of errors. These can be due to the number of retransmissions
          exceeding the retry limit, or from other causes.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="RetransCount" access="readOnly" version="2.7">
        <description>
          The total number of transmitted packets which were retransmissions.
          Two retransmissions of the same packet results in this counter
          incrementing by two.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="FailedRetransCount" access="readOnly" version="2.7">
        <description>
          The number of packets that were not transmitted successfully due to
          the number of retransmission attempts exceeding an 802.11 retry
          limit. This parameter is based on dot11FailedCount from
          {{bibref|802.11-2012}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="RetryCount" access="readOnly" version="2.7">
        <description>
          The number of packets that were successfully transmitted after one or
          more retransmissions. This parameter is based on dot11RetryCount from
          {{bibref|802.11-2012}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MultipleRetryCount" access="readOnly" version="2.7">
        <description>
          The number of packets that were successfully transmitted after more
          than one retransmission. This parameter is based on
          dot11MultipleRetryCount from {{bibref|802.11-2012}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ACKFailureCount" access="readOnly" version="2.7">
        <description>
          The number of expected ACKs that were never received. This parameter
          is based on dot11ACKFailureCount from {{bibref|802.11-2012}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="AggregatedPacketCount" access="readOnly" version="2.7">
        <description>
          The number of aggregated packets that were transmitted. This applies
          only to 802.11n and 802.11ac.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ErrorsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of inbound packets that contained errors preventing
          them from being delivered to a higher-layer protocol.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="UnicastPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets requested for transmission which were not
          addressed to a multicast or broadcast address at this layer,
          including those that were discarded or not sent.
        </description>
        <syntax>
          <unsignedLong/>
        </syntax>
      </parameter>

      <parameter name="UnicastPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of received packets, delivered by this layer to a
          higher layer, which were not addressed to a multicast or broadcast
          address at this layer.
        </description>
        <syntax>
          <unsignedLong/>
        </syntax>
      </parameter>

      <parameter name="DiscardPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of outbound packets which were chosen to be
          discarded even though no errors had been detected to prevent their
          being transmitted. One possible reason for discarding such a packet
          could be to free up buffer space.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DiscardPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of inbound packets which were chosen to be discarded
          even though no errors had been detected to prevent their being
          delivered. One possible reason for discarding such a packet could be
          to free up buffer space.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MulticastPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets that higher-level protocols requested for
          transmission and which were addressed to a multicast address at this
          layer, including those that were discarded or not sent.
        </description>
        <syntax>
          <unsignedLong/>
        </syntax>
      </parameter>

      <parameter name="MulticastPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of received packets, delivered by this layer to a
          higher layer, which were addressed to a multicast address at this
          layer.
        </description>
        <syntax>
          <unsignedLong/>
        </syntax>
      </parameter>

      <parameter name="BroadcastPacketsSent" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets that higher-level protocols requested for
          transmission and which were addressed to a broadcast address at this
          layer, including those that were discarded or not sent.
        </description>
        <syntax>
          <unsignedLong/>
        </syntax>
      </parameter>

      <parameter name="BroadcastPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of received packets, delivered by this layer to a
          higher layer, which were addressed to a broadcast address at this
          layer.
        </description>
        <syntax>
          <unsignedLong/>
        </syntax>
      </parameter>

      <parameter name="UnknownProtoPacketsReceived" access="readOnly"
          activeNotify="canDeny">
        <description>
          The total number of packets received via the interface which were
          discarded because of an unknown or unsupported protocol.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DiscardPacketsSentBufOverflow" access="readOnly"
          version="2.14">
        <description>
          The total number of discarded packets during transmission caused by
          transmit buffer overflow.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="DiscardPacketsSentNoAssoc" access="readOnly"
          version="2.14">
        <description>
          The total number of discarded packets due to the station not being
          associated.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="FragSent" access="readOnly" version="2.14">
        <description>
          The total number of frame-fragments transmitted out of the interface.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="SentNoAck" access="readOnly" version="2.14">
        <description>
          The total number of transmitted data packets that did not receive an
          ACK when expected.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="DupReceived" access="readOnly" version="2.14">
        <description>
          The total number of received packets whose Sequence Control field
          indicates it is a duplicate.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="TooLongReceived" access="readOnly" version="2.14">
        <description>
          The total number of received packets longer than the maximum allowed
          packet length.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="TooShortReceived" access="readOnly" version="2.14">
        <description>
          The total number of received packets that did not contain enough
          bytes for the packet type.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="AckUcastReceived" access="readOnly" version="2.14">
        <description>
          The total number of unicast ACKs received, with good Frame Check
          Sequence (FCS).
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.WiFi.AccessPoint.{i}." access="readWrite"
        numEntriesParameter="AccessPointNumberOfEntries"
        enableParameter="Enable" minEntries="0" maxEntries="unbounded"
        version="2.0">
      <description>
        This object models an 802.11 connection from the perspective of a
        wireless access point. Each {{object}} entry is associated with a
        particular {{object|#.SSID}} interface instance via the
        {{param|SSIDReference}} parameter.

        For enabled table entries, if {{param|SSIDReference}} is not a valid
        reference then the table entry is inoperable and the CPE MUST set
        {{param|Status}} to {{enum|Error_Misconfigured|Status}}.

        Note: The {{object}} table includes a unique key parameter that is a
        strong reference. If a strongly referenced object is deleted, the CPE
        will set the referencing parameter to {{empty}}. However, doing so
        under these circumstances might cause the updated {{object}} row to
        then violate the table's unique key constraint; if this occurs, the CPE
        MUST set {{param|Status}} to {{enum|Error_Misconfigured|Status}} and
        disable the offending {{object}} row.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <uniqueKey>
        <parameter ref="SSIDReference"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this access point.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          Indicates the status of this access point. {{enum}}

          The {{enum|Error_Misconfigured}} value indicates that a necessary
          configuration value is undefined or invalid.

          The {{enum|Error}} value MAY be used by the CPE to indicate a locally
          defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error_Misconfigured"/>
            <enumeration value="Error" optional="true"/>
          </string>
          <default type="object" value="Disabled"/>
        </syntax>
      </parameter>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="SSIDReference" access="readWrite">
        <description>
          {{reference}}
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef refType="strong" targetParent="#.SSID." targetType="row"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SSIDAdvertisementEnabled" access="readWrite">
        <description>
          Indicates whether or not beacons include the SSID name.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="RetryLimit" access="readWrite" status="deleted">
        <description>
          The maximum number of retransmission for a packet. This corresponds
          to IEEE 802.11 parameter ''dot11ShortRetryLimit''.

          {{deprecated|2.11|because it is really a {{object|#.Radio}}
          attribute. Use {{param|#.Radio.{i}.RetryLimit}}}}

          {{obsoleted|2.14}}

          {{deleted|2.15}}
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="7"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="WMMCapability" access="readOnly">
        <description>
          Indicates whether this access point supports WiFi Multimedia (WMM)
          Access Categories (AC) {{bibref|WMM}}.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="UAPSDCapability" access="readOnly">
        <description>
          Indicates whether this access point supports WMM Unscheduled
          Automatic Power Save Delivery (U-APSD).

          Note: U-APSD support implies WMM support.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="WMMEnable" access="readWrite">
        <description>
          Whether WMM support is currently enabled. When enabled, this is
          indicated in beacon frames.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="UAPSDEnable" access="readWrite">
        <description>
          Whether U-APSD support is currently enabled. When enabled, this is
          indicated in beacon frames.

          Note: U-APSD can only be enabled if WMM is also enabled.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="AssociatedDeviceNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="MaxAssociatedDevices" access="readWrite"
          status="obsoleted" version="2.4">
        <description>
          The maximum number of devices that can simultaneously be connected to
          the access point.

          A value of 0 means that there is no specific limit.

          {{deprecated|2.13|in favor of {{param|MaxAllowedAssociations}}}}

          {{obsoleted|2.14-2.15}}
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="0"/>
        </syntax>
      </parameter>

      <parameter name="IsolationEnable" access="readWrite" version="2.4">
        <description>
          Enables or disables device isolation.

          A value of {{true}} means that the devices connected to the Access
          Point are isolated from all other devices within the home network (as
          is typically the case for a Wireless Hotspot).
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="MACAddressControlEnabled" access="readWrite"
          version="2.9">
        <description>
          Indicates whether or not MAC Address Control is enabled on this
          {{object|#}}. MAC Address Control limits client devices to those
          whose hardware addresses match the {{param|AllowedMACAddress}} list.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="AllowedMACAddress" access="readWrite" version="2.9">
        <description>
          Hardware addresses of client devices that are allowed to associate
          with this {{object|#}} if {{param|MACAddressControlEnabled}} is
          {{true}}.
        </description>
        <syntax>
          <list/>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="MaxAllowedAssociations" access="readWrite"
          version="2.12">
        <description>
          Maximum number of associated devices allowed for this SSID. If the
          number is reached new device connections to this access point will be
          rejected.

          If the number is changed to a value less than the actual number of
          associated devices, new device connections will be rejected until the
          number of devices is below this number. It is not expected that any
          connections are dropped.

          If the parameter {{param|#.Radio.{i}.MaxSupportedAssociations}}
          exists, the value MUST be less than or equal to the maximum number
          specified in {{param|#.Radio.{i}.MaxSupportedAssociations}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="CpeOperationMode" access="readWrite" version="2.14">
        <description>
          Reports information about the CPE operation mode (router or
          bridge/range extender).
        </description>
        <syntax>
          <string>
            <enumeration value="Router">
              <description>
                Indicates indicates operation as a router.
              </description>
            </enumeration>
            <enumeration value="Bridge/Extender">
              <description>
                Indicates operation as a range extender or acess point in
                bridge mode.
              </description>
            </enumeration>
          </string>
          <default type="object" value="Router"/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.WiFi.AccessPoint.{i}.Security." access="readOnly"
        minEntries="1" maxEntries="1" version="2.0">
      <description>
        This object contains security related parameters that apply to a CPE
        acting as an Access Point {{bibref|802.11-2007}}.
      </description>

      <parameter name="ModesSupported" access="readOnly">
        <description>
          {{list}} Indicates which security modes this {{object|#}} instance is
          capable of supporting.

          The {{enum|WPA3-Personal}} value is the same as WPA3-SAE.

          The {{enum|WPA3-Personal-Transition}} value is the same as
          WPA2-PSK-WPA3-SAE.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="None"/>
            <enumeration value="WEP-64"/>
            <enumeration value="WEP-128"/>
            <enumeration value="WPA-Personal"/>
            <enumeration value="WPA2-Personal"/>
            <enumeration value="WPA3-Personal"/>
            <enumeration value="WPA-WPA2-Personal"/>
            <enumeration value="WPA3-Personal-Transition"/>
            <enumeration value="WPA-Enterprise"/>
            <enumeration value="WPA2-Enterprise"/>
            <enumeration value="WPA3-Enterprise"/>
            <enumeration value="WPA-WPA2-Enterprise"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ModeEnabled" access="readWrite">
        <description>
          Indicates which security mode is enabled.
        </description>
        <syntax>
          <string>
            <enumerationRef targetParam="ModesSupported"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="EncryptionMode" access="readWrite" version="2.14">
        <description>
          The type of encryption in use.

          When {{param|ModeEnabled}} is one of
          {{enum|WPA3-Personal|ModesSupported}},
          {{enum|WPA3-Personal-Transition|ModesSupported}}, or
          {{enum|WPA3-Enterprise|ModesSupported}}, {{enum|TKIP}} is not valid,
          and should not be in the list.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="TKIP"/>
            <enumeration value="AES"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="WEPKey" access="readWrite">
        <description>
          A WEP key expressed as a hexadecimal string.

          {{param}} is used only if {{param|ModeEnabled}} is set to
          {{enum|WEP-64|ModeEnabled}} or {{enum|WEP-128|ModeEnabled}}.

          A 5 byte {{param}} corresponds to security mode
          {{enum|WEP-64|ModeEnabled}} and a 13 byte {{param}} corresponds to
          security mode {{enum|WEP-128|ModeEnabled}}.
        </description>
        <syntax hidden="true">
          <hexBinary>
            <size minLength="5" maxLength="5"/>
            <size minLength="13" maxLength="13"/>
          </hexBinary>
        </syntax>
      </parameter>

      <parameter name="PreSharedKey" access="readWrite">
        <description>
          A literal PreSharedKey (PSK) expressed as a hexadecimal string.

          {{param}} is only used if {{param|ModeEnabled}} is set to
          {{enum|WPA-Personal|ModeEnabled}} or
          {{enum|WPA2-Personal|ModeEnabled}} or
          {{enum|WPA-WPA2-Personal|ModeEnabled}}.

          If {{param|KeyPassphrase}} is written, then {{param}} is immediately
          generated. The Controller SHOULD NOT set both the
          {{param|KeyPassphrase}} and the {{param}} directly (the result of
          doing this is undefined).
        </description>
        <syntax hidden="true">
          <hexBinary>
            <size maxLength="32"/>
          </hexBinary>
        </syntax>
      </parameter>

      <parameter name="KeyPassphrase" access="readWrite">
        <description>
          A passphrase from which the {{param|PreSharedKey}} is to be
          generated, for {{enum|WPA-Personal|ModeEnabled}} or
          {{enum|WPA2-Personal|ModeEnabled}} or
          {{enum|WPA-WPA2-Personal|ModeEnabled}} security modes.

          If {{param}} is written, then {{param|PreSharedKey}} for WPA2 is
          immediately generated. The Controller SHOULD NOT set both the
          {{param}} and the {{param|PreSharedKey}} directly (the result of
          doing this is undefined). The key is generated as specified by WPA,
          which uses PBKDF2 from PKCS #5: Password-based Cryptography
          Specification Version 2.0 ({{bibref|RFC2898}}).
        </description>
        <syntax hidden="true">
          <string>
            <size minLength="8" maxLength="63"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="RekeyingInterval" access="readWrite">
        <description>
          The interval (expressed in {{units}}) in which the keys are
          re-generated.

          This is applicable to WPA, WPA2 and Mixed (WPA-WPA2) modes in
          Personal or Enterprise mode (i.e. when {{param|ModeEnabled}} is set
          to a value other than {{enum|None|ModeEnabled}} or
          {{enum|WEP-64|ModeEnabled}} or {{enum|WEP-128|ModeEnabled}}.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
          <default type="object" value="3600"/>
        </syntax>
      </parameter>

      <parameter name="SAEPassphrase" access="readWrite" version="2.13">
        <description>
          A passphrase for {{enum|WPA3-Personal|ModeEnabled}} or
          {{enum|WPA3-Personal-Transition|ModeEnabled}} security modes.

          NOTE: this parameter is for WPA3. WPA2 {{param|PreSharedKey}} is
          generated from {{param|KeyPassphrase}}.
        </description>
        <syntax hidden="true">
          <string/>
        </syntax>
      </parameter>

      <parameter name="RadiusServerIPAddr" access="readWrite">
        <description>
          The IP Address of the RADIUS server used for WLAN security. {{param}}
          is only applicable when {{param|ModeEnabled}} is an Enterprise type
          (i.e. {{enum|WPA-Enterprise|ModeEnabled}},
          {{enum|WPA2-Enterprise|ModeEnabled}},
          {{enum|WPA3-Enterprise|ModeEnabled}}, or
          {{enum|WPA-WPA2-Enterprise|ModeEnabled}}).
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="SecondaryRadiusServerIPAddr" access="readWrite"
          version="2.5">
        <description>
          The IP Address of a secondary RADIUS server used for WLAN security.
          {{param}} is only applicable when {{param|ModeEnabled}} is an
          Enterprise type (i.e. {{enum|WPA-Enterprise|ModeEnabled}},
          {{enum|WPA2-Enterprise|ModeEnabled}},
          {{enum|WPA3-Enterprise|ModeEnabled}}, or
          {{enum|WPA-WPA2-Enterprise|ModeEnabled}}).

          The client can forward requests to the secondary server in the event
          that the primary server is down or unreachable, or after a number of
          tries to the primary server fail, or in a round-robin fashion
          {{bibref|RFC2865}}.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="RadiusServerPort" access="readWrite">
        <description>
          The port number of the RADIUS server used for WLAN security.
          {{param}} is only applicable when {{param|ModeEnabled}} is an
          Enterprise type (i.e. {{enum|WPA-Enterprise|ModeEnabled}},
          {{enum|WPA2-Enterprise|ModeEnabled}},
          {{enum|WPA3-Enterprise|ModeEnabled}}, or
          {{enum|WPA-WPA2-Enterprise|ModeEnabled}}).
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="1812"/>
        </syntax>
      </parameter>

      <parameter name="SecondaryRadiusServerPort" access="readWrite"
          version="2.5">
        <description>
          The port number of the secondary RADIUS server used for WLAN
          security. {{param}} is only applicable when {{param|ModeEnabled}} is
          an Enterprise type (i.e. {{enum|WPA-Enterprise|ModeEnabled}},
          {{enum|WPA2-Enterprise|ModeEnabled}},
          {{enum|WPA3-Enterprise|ModeEnabled}}, or
          {{enum|WPA-WPA2-Enterprise|ModeEnabled}}).

          If this parameter is not implemented, the secondary RADIUS server
          will use the same port number as the primary RADIUS server.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="1812"/>
        </syntax>
      </parameter>

      <parameter name="RadiusSecret" access="readWrite">
        <description>
          The secret used for handshaking with the RADIUS server
          {{bibref|RFC2865}}.
        </description>
        <syntax hidden="true">
          <string/>
        </syntax>
      </parameter>

      <parameter name="SecondaryRadiusSecret" access="readWrite" version="2.5">
        <description>
          The secret used for handshaking with the secondary RADIUS server
          {{bibref|RFC2865}}.

          If this parameter is not implemented, the secondary RADIUS server
          will use the same secret as the primary RADIUS server.
        </description>
        <syntax hidden="true">
          <string/>
        </syntax>
      </parameter>

      <parameter name="MFPConfig" access="readWrite" version="2.11">
        <description>
          Management Frame Protection configuration applicable when
          {{param|ModeEnabled}} is set to {{enum|WPA2-Personal|ModeEnabled}},
          {{enum|WPA2-Enterprise|ModeEnabled}},
          {{enum|WPA3-Personal|ModeEnabled}}, or
          {{enum|WPA3-Enterprise|ModeEnabled}}. When in WPA3 modes, {{param}}
          MUST be set to {{enum|Required}}.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Optional"/>
            <enumeration value="Required"/>
          </string>
          <default type="object" value="Disabled"/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.WiFi.AccessPoint.{i}.WPS." access="readOnly"
        minEntries="1" maxEntries="1" version="2.0">
      <description>
        This object contains parameters related to Wi-Fi Protected Setup for
        this access point (as specified in {{bibref|WPSv1.0}} or
        {bibref|WPSv2.0}}).
      </description>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables WPS functionality for this access point.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="true"/>
        </syntax>
      </parameter>

      <parameter name="ConfigMethodsSupported" access="readOnly">
        <description>
          WPS configuration methods supported by the device. {{enum}}

          This parameter corresponds directly to the "Config Methods" attribute
          of {{bibref|WPS 2.0}}.

          The {{enum|USBFlashDrive}} and {{enum|Ethernet}} are only applicable
          in WPS 1.0 and are deprecated in WPS 2.x. The
          {{enum|PhysicalPushButton}}, {{enum|VirtualPushButton}},
          {{enum|PhysicalDisplay}} and {{enum|VirtualDisplay}} are applicable
          to WPS 2.x only.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="USBFlashDrive"/>
            <enumeration value="Ethernet"/>
            <enumeration value="Label"/>
            <enumeration value="Display"/>
            <enumeration value="ExternalNFCToken"/>
            <enumeration value="IntegratedNFCToken"/>
            <enumeration value="NFCInterface"/>
            <enumeration value="PushButton"/>
            <enumeration value="PIN"/>
            <enumeration value="PhysicalPushButton"/>
            <enumeration value="PhysicalDisplay"/>
            <enumeration value="VirtualPushButton"/>
            <enumeration value="VirtualDisplay"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ConfigMethodsEnabled" access="readWrite">
        <description>
          {{list}} Indicates WPS configuration methods enabled on the device.
        </description>
        <syntax>
          <list/>
          <string>
            <enumerationRef targetParam="ConfigMethodsSupported"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly" version="2.11">
        <description>
          {{list}} Indicates the current status of WPS. If the device goes to
          {{enum|SetupLocked}} the WPS needs to be disabled and re-enabled to
          come out of state.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Error"/>
            <enumeration value="Unconfigured"/>
            <enumeration value="Configured"/>
            <enumeration value="SetupLocked"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Version" access="readOnly" version="2.11">
        <description>
          The Wi-Fi Simple Configuration version supported by the device, a
          string of the form ''m.n'' where ''m'' is the major version and ''n''
          is the minor version.

          For example, a value of ''1.0'' denotes WSC 1.0 and a value of
          ''2.0'' denotes WSC 2.0.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="PIN" access="readWrite" version="2.11">
        <description>
          Represents the Device PIN used for PIN based pairing between WPS
          peers. This PIN is either a four digit number or an eight digit
          number.

          {{hidden}}
        </description>
        <syntax hidden="true">
          <string>
            <size maxLength="8"/>
            <pattern value="\d{4}|\d{8}"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}."
        access="readOnly" numEntriesParameter="AssociatedDeviceNumberOfEntries"
        minEntries="0" maxEntries="unbounded" version="2.0">
      <description>
        A table of the devices currently associated with the access point.
      </description>
      <uniqueKey>
        <parameter ref="MACAddress"/>
      </uniqueKey>

      <parameter name="MACAddress" access="readOnly" activeNotify="canDeny">
        <description>
          The MAC address of an associated device.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="Type" access="readOnly" version="2.14">
        <description>
          Associated device type (Laptop, iPhone, Android, etc.).
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="SetStaATF" access="readWrite" version="2.14">
        <description>
          Configures the Air Time Fairness (ATF) setting of this individual
          associated device. Expressed as percentage of airtime, such that this
          associated device should not exceed this percentage. Setting this
          value overrides {{param|Device.WiFi.SSID.{i}.SetATF}} for this
          associated device.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="100"/>
            <units value="percent"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="OperatingStandard" access="readOnly" version="2.10">
        <description>
          The operating standard that this associated device is connected with.
        </description>
        <syntax>
          <string>
            <enumeration value="a">
              <description>{{bibref|802.11a-1999}}</description>
            </enumeration>
            <enumeration value="b">
              <description>{{bibref|802.11b-1999}}</description>
            </enumeration>
            <enumeration value="g">
              <description>{{bibref|802.11g-2003}}</description>
            </enumeration>
            <enumeration value="n">
              <description>{{bibref|802.11n-2009}}</description>
            </enumeration>
            <enumeration value="ac">
              <description>{{bibref|802.11ac-2013}}</description>
            </enumeration>
            <enumeration value="ax">
              <description>{{bibref|802.11ax}}</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="AuthenticationState" access="readOnly"
          activeNotify="canDeny">
        <description>
          Whether an associated device has authenticated ({{true}}) or not
          ({{false}}).
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="LastDataDownlinkRate" access="readOnly"
          activeNotify="canDeny">
        <description>
          The data transmit rate in {{units}} that was most recently used for
          transmission from the access point to the associated device.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1000"/>
            <units value="kbps"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="LastDataUplinkRate" access="readOnly"
          activeNotify="canDeny">
        <description>
          The data transmit rate in {{units}} that was most recently used for
          transmission from the associated device to the access point.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1000"/>
            <units value="kbps"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="AssociationTime" access="readOnly" version="2.12">
        <description>
          Date and time in UTC when the device was associated
        </description>
        <syntax>
          <dateTime/>
        </syntax>
      </parameter>

      <parameter name="SignalStrength" access="readOnly">
        <description>
          An indicator of radio signal strength of the uplink from the
          associated device to the access point, measured in {{units}}, as an
          average of the last 100 packets received from the device.
        </description>
        <syntax>
          <int>
            <range minInclusive="-200" maxInclusive="0"/>
            <units value="dBm"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="Noise" access="readOnly" version="2.12">
        <description>
          An indicator of radio noise on the uplink from the associated device
          to the access point, measured in {{units}}, as an average of the last
          100 packets received from the device (see ANPI definition in
          {{bibref|802.11-2012|Clause 10.11.9.4}})
        </description>
        <syntax>
          <int>
            <range minInclusive="-200" maxInclusive="0"/>
            <units value="dBm"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="Retransmissions" access="readOnly">
        <description>
          The number of {{units}} that had to be re-transmitted, from the last
          100 packets sent to the associated device. Multiple re-transmissions
          of the same packet count as one.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="100"/>
            <units value="packets"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Active" access="readOnly">
        <description>
          Whether or not this node is currently present in the WiFi AccessPoint
          network.

          The ability to list inactive nodes is OPTIONAL. If the CPE includes
          inactive nodes in this table, {{param}} MUST be set to {{false}} for
          each inactive node. The length of time an inactive node remains
          listed in this table is a local matter to the CPE.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Stats."
        access="readOnly" minEntries="1" maxEntries="1" version="2.8">
      <description>
        These count bytes or packets sent to, or received from, this Associated
        Device, which is a WiFi station associated to this access point. Packet
        counters here count 802.11 WiFi frames.

        The CPE MUST reset these {{object}} parameters (unless otherwise stated
        in individual object or parameter descriptions) either when the
        {{param|##.Status}} of the parent {{object|##}} object transitions from
        {{enum|Disabled|##.Status}} to {{enum|Enabled|##.Status}}, or when it
        transitions from {{enum|Enabled|##.Status}} to
        {{enum|Disabled|##.Status}}.
      </description>

      <parameter name="BytesSent" access="readOnly">
        <description>
          The total number of bytes transmitted to the Associated Device,
          including framing characters.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BytesReceived" access="readOnly">
        <description>
          The total number of bytes received from the Associated Device,
          including framing characters.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="PacketsSent" access="readOnly">
        <description>
          The total number of packets transmitted to the Associated Device.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="PacketsReceived" access="readOnly">
        <description>
          The total number of packets received from the Associated Device.
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="ErrorsSent" access="readOnly">
        <description>
          The total number of outbound packets that could not be transmitted
          because of errors. These might be due to the number of
          retransmissions exceeding the retry limit, or from other causes.
        </description>
        <syntax>
          <dataType ref="StatsCounter32"/>
        </syntax>
      </parameter>

      <parameter name="ErrorsReceived" access="readOnly" version="2.14">
        <description>
          The total number of inbound packets that contained errors preventing
          them from being delivered to a higher-layer protocol.
        </description>
        <syntax>
          <dataType ref="StatsCounter32"/>
        </syntax>
      </parameter>

      <parameter name="RetransCount" access="readOnly">
        <description>
          The total number of transmitted packets which were retransmissions.
          Two retransmissions of the same packet results in this counter
          incrementing by two.
        </description>
        <syntax>
          <dataType ref="StatsCounter32"/>
        </syntax>
      </parameter>

      <parameter name="FailedRetransCount" access="readOnly">
        <description>
          The number of packets that were not transmitted successfully due to
          the number of retransmission attempts exceeding an 802.11 retry
          limit. This parameter is based on ''dot11FailedCount'' from
          {{bibref|802.11-2012}}.
        </description>
        <syntax>
          <dataType ref="StatsCounter32"/>
        </syntax>
      </parameter>

      <parameter name="RetryCount" access="readOnly">
        <description>
          The number of packets that were successfully transmitted after one or
          more retransmissions. This parameter is based on ''dot11RetryCount''
          from {{bibref|802.11-2012}}.
        </description>
        <syntax>
          <dataType ref="StatsCounter32"/>
        </syntax>
      </parameter>

      <parameter name="MultipleRetryCount" access="readOnly">
        <description>
          The number of packets that were successfully transmitted after more
          than one retransmission. This parameter is based on
          ''dot11MultipleRetryCount'' from {{bibref|802.11-2012}}.
        </description>
        <syntax>
          <dataType ref="StatsCounter32"/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.WiFi.AccessPoint.{i}.AC.{i}." access="readOnly"
        minEntries="4" maxEntries="4" version="2.8">
      <description>
        This object contains parameters related to WiFi QoS for different
        802.11e access categories (priorities). Access categories are: BE, BK,
        VI, and VO. These parameters can help control and monitor 802.11e
        Enhanced distributed channel access (EDCA). The size of this table is
        fixed, with four entries which are identified by the
        {{param|AccessCategory}} parameter as follows:

        * BE (Best Effort)

        * BK (Background)

        * VI (Video)

        * VO (Voice)
      </description>
      <uniqueKey>
        <parameter ref="AccessCategory"/>
      </uniqueKey>

      <parameter name="AccessCategory" access="readOnly">
        <description>
          This identifies the access category.
        </description>
        <syntax>
          <string>
            <enumeration value="BE"/>
            <enumeration value="BK"/>
            <enumeration value="VI"/>
            <enumeration value="VO"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Alias" access="readWrite">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="AIFSN" access="readWrite" status="deprecated">
        <description>
          Arbitration Inter Frame Spacing (Number). This is the number of time
          slots in the arbitration interframe space.

          {{deprecated|2.15|because it is superseded by the WMM
          Specification.}}
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="2" maxInclusive="15"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ECWMin" access="readWrite" status="deprecated">
        <description>
          Exponent of Contention Window (Minimum). This encodes the values of
          CWMin as an exponent: CWMin = 2^ECWMin - 1. For example, if ECWMin is
          8, then CWMin is 2^8 - 1, or 255, (expressed in {{units}}).

          {{deprecated|2.15|because it is superseded by the WMM
          Specification.}}
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="15"/>
            <units value="microseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ECWMax" access="readWrite" status="deprecated">
        <description>
          Exponent of Contention Window (Maximum). This encodes the values of
          CWMax as an exponent: CWMax = 2^ECWMax - 1. For example, if ECWMax is
          8, then CWMax is 2^8 - 1, or 255, (expressed in {{units}}).

          {{deprecated|2.15|because it is superseded by the WMM
          Specification.}}
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="15"/>
            <units value="microseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="TxOpMax" access="readWrite" status="deprecated">
        <description>
          Maximum transmit opportunity, in multiples of {{units}}. A TXOP time
          interval of 0 means it is limited to a single MAC protocol data unit
          (MPDU).

          {{deprecated|2.15|because it is superseded by the WMM
          Specification.}}
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
            <units value="32 microseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="AckPolicy" access="readWrite">
        <description>
          Ack Policy, where False="Do Not Acknowledge" and True="Acknowledge"
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="OutQLenHistogramIntervals" access="readWrite">
        <description>
          {{list}} Definition of the histogram intervals for counting the
          transmit queue length in packets. Each value indicates the maximum
          value of the interval. For example, "0,1,4,8," defines the five
          intervals: 0 packets in queue, 1 packet in queue, 2 to 4 packets in
          queue, 5 to 8 packets in queue, and 9 or more packets in queue. (No
          value after the last comma means no upper bound.) If this parameter
          is set to {{empty}}, no {{param|Stats.OutQLenHistogram}} stats will
          be collected.
        </description>
        <syntax>
          <list/>
          <string/>
        </syntax>
      </parameter>

      <parameter name="OutQLenHistogramSampleInterval" access="readWrite">
        <description>
          The time between recording samples of the current transmit queue in
          {{units}}.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object name="Device.WiFi.AccessPoint.{i}.AC.{i}.Stats." access="readOnly"
        minEntries="1" maxEntries="1" version="2.8">
      <description>
        This object contains statistics for different 802.11e access categories
        (priorities).

        Packet counters here count 802.11 WiFi frames.

        If there are not separate stats for each access category, (e.g.,
        802.11e is not used and there is only one queue), then only access
        category 0 = BE applies (e.g., the statistics for the single queue are
        in access category 0 = BE).

        The CPE MUST reset the Access Point's Stats parameters (unless
        otherwise stated in individual object or parameter descriptions) either
        when the Access Point becomes operationally down due to a previous
        administrative down (i.e. the Access Point's Status parameter
        transitions to a Disabled state) or when the Access Point becomes
        administratively up (i.e. the Access Point's Enable parameter
        transitions from false to true). Administrative and operational status
        is discussed in {{bibref|TR-181i2|Section 4.2.2}}.
      </description>

      <parameter name="BytesSent" access="readOnly">
        <description>
          The total number of {{units}} transmitted in this access category,
          including framing characters.
        </description>
        <syntax>
          <dataType ref="StatsCounter64">
            <units value="bytes"/>
          </dataType>
        </syntax>
      </parameter>

      <parameter name="BytesReceived" access="readOnly">
        <description>
          The total number of {{units}} received in this access category,
          including framing characters.
        </description>
        <syntax>
          <dataType ref="StatsCounter64">
            <units value="bytes"/>
          </dataType>
        </syntax>
      </parameter>

      <parameter name="PacketsSent" access="readOnly">
        <description>
          The total number of {{units}} transmitted in this access category.
        </description>
        <syntax>
          <dataType ref="StatsCounter64">
            <units value="packets"/>
          </dataType>
        </syntax>
      </parameter>

      <parameter name="PacketsReceived" access="readOnly">
        <description>
          The total number of {{units}} received in this access category.
        </description>
        <syntax>
          <dataType ref="StatsCounter64">
            <units value="packets"/>
          </dataType>
        </syntax>
      </parameter>

      <parameter name="ErrorsSent" access="readOnly">
        <description>
          The total number of outbound {{units}} in this access category that
          could not be transmitted because of errors. These might be due to the
          number of retransmissions exceeding the retry limit, or from other
          causes.
        </description>
        <syntax>
          <dataType ref="StatsCounter32">
            <units value="packets"/>
          </dataType>
        </syntax>
      </parameter>

      <parameter name="ErrorsReceived" access="readOnly">
        <description>
          The total number of inbound {{units}} in this access category that
          contained errors preventing them from being delivered to a
          higher-layer protocol.
        </description>
        <syntax>
          <dataType ref="StatsCounter32">
            <units value="packets"/>
          </dataType>
        </syntax>
      </parameter>

      <parameter name="DiscardPacketsSent" access="readOnly">
        <description>
          The total number of outbound {{units}} in this access category which
          were chosen to be discarded even though no errors had been detected
          to prevent their being transmitted. One possible reason for
          discarding such a packet could be to free up buffer space.
        </description>
        <syntax>
          <dataType ref="StatsCounter32">
            <units value="packets"/>
          </dataType>
        </syntax>
      </parameter>

      <parameter name="DiscardPacketsReceived" access="readOnly">
        <description>
          The total number of inbound {{units}} in this access category which
          were chosen to be discarded even though no errors had been detected
          to prevent their being delivered. One possible reason for discarding
          such a packet could be to free up buffer space.
        </description>
        <syntax>
          <dataType ref="StatsCounter32">
            <units value="packets"/>
          </dataType>
        </syntax>
      </parameter>

      <parameter name="RetransCount" access="readOnly">
        <description>
          The total number of transmitted {{units}} in this access category
          which were retransmissions. Two retransmissions of the same packet
          results in this counter incrementing by two.
        </description>
        <syntax>
          <dataType ref="StatsCounter32">
            <units value="packets"/>
          </dataType>
        </syntax>
      </parameter>

      <parameter name="OutQLenHistogram" access="readOnly">
        <description>
          {{list}} Histogram of the total length of the transmit queue of this
          access category in packets (1 packet, 2 packets, etc.) according to
          the intervals defined by {{param|#.OutQLenHistogramIntervals}}, with
          samples taken each {{param|#.OutQLenHistogramSampleInterval}}.
          Example: "12,5,1,0,2,0,0,1".
        </description>
        <syntax>
          <list/>
          <string/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.WiFi.AccessPoint.{i}.Accounting." access="readOnly"
        minEntries="1" maxEntries="1" version="2.5">
      <description>
        This object contains the parameters related to RADIUS accounting
        functionality for the access point.
      </description>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables accounting functionality for the access point.
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="ServerIPAddr" access="readWrite">
        <description>
          The IP Address of the RADIUS accounting server.
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="SecondaryServerIPAddr" access="readWrite">
        <description>
          The IP Address of a secondary RADIUS accounting server.

          The client can forward requests to the secondary server in the event
          that the primary server is down or unreachable, or after a number of
          tries to the primary server fail, or in a round-robin fashion.
          {{bibref|RFC2866}}
        </description>
        <syntax>
          <dataType ref="IPAddress"/>
        </syntax>
      </parameter>

      <parameter name="ServerPort" access="readWrite">
        <description>
          The port number of the RADIUS server used for accounting. The default
          port is 1813 as defined in {{bibref|RFC2866}}.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="1813"/>
        </syntax>
      </parameter>

      <parameter name="SecondaryServerPort" access="readWrite">
        <description>
          The port number of the secondary RADIUS server used for accounting.
          The default port is 1813 as defined in {{bibref|RFC2866}}.

          If this parameter is not implemented, the secondary RADIUS server
          will use the same port number as the primary RADIUS server.
        </description>
        <syntax>
          <unsignedInt/>
          <default type="object" value="1813"/>
        </syntax>
      </parameter>

      <parameter name="Secret" access="readWrite">
        <description>
          The secret used for handshaking with the RADIUS accounting server
          {{bibref|RFC2865}}.
        </description>
        <syntax hidden="true">
          <string/>
        </syntax>
      </parameter>

      <parameter name="SecondarySecret" access="readWrite">
        <description>
          The secret used for handshaking with the secondary RADIUS accounting
          server {{bibref|RFC2865}}.

          If this parameter is not implemented, the secondary RADIUS server
          will use the same secret as the primary RADIUS server.
        </description>
        <syntax hidden="true">
          <string/>
        </syntax>
      </parameter>

      <parameter name="InterimInterval" access="readWrite">
        <description>
          Specifies the default interim accounting interval in {{units}}, which
          is used for service accounting when the ''Acct-Interim-Interval''
          attribute is not configured. {{bibref|RFC2869|Section 2.1}}

          The value MUST NOT be smaller than 60. The value SHOULD NOT be
          smaller than 600, and careful consideration should be given to its
          impact on network traffic {{bibref|RFC2869|Section 5.16}}.

          A value of 0 means no interim accounting messages are sent.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="0"/>
            <range minInclusive="60"/>
            <units value="seconds"/>
          </unsignedInt>
          <default type="object" value="0"/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.WiFi.EndPoint.{i}." access="readWrite"
        numEntriesParameter="EndPointNumberOfEntries" enableParameter="Enable"
        minEntries="0" maxEntries="unbounded" version="2.0">
      <description>
        This object models an 802.11 connection from the perspective of a
        wireless end point. Each {{object}} entry is associated with a
        particular {{object|#.SSID}} interface instance via the
        {{param|SSIDReference}} parameter, and an associated active
        {{object|Profile}} instance via the {{param|ProfileReference}}
        parameter. The active profile is responsible for specifying the actual
        SSID and security settings used by the end point.

        For enabled table entries, if {{param|SSIDReference}} or
        {{param|ProfileReference}} is not a valid reference then the table
        entry is inoperable and the CPE MUST set {{param|Status}} to
        {{enum|Error_Misconfigured|Status}}.

        Note: The {{object}} table includes a unique key parameter that is a
        strong reference. If a strongly referenced object is deleted, the CPE
        will set the referencing parameter to {{empty}}. However, doing so
        under these circumstances might cause the updated {{object}} row to
        then violate the table's unique key constraint; if this occurs, the CPE
        MUST set {{param|Status}} to {{enum|Error_Misconfigured|Status}} and
        disable the offending {{object}} row.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <uniqueKey>
        <parameter ref="SSIDReference"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this end point.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          Indicates the status of this end point. {{enum}}

          The {{enum|Error_Misconfigured}} value indicates that a necessary
          configuration value is undefined or invalid.

          The {{enum|Error}} value MAY be used by the CPE to indicate a locally
          defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Enabled"/>
            <enumeration value="Error_Misconfigured"/>
            <enumeration value="Error" optional="true"/>
          </string>
          <default type="object" value="Disabled"/>
        </syntax>
      </parameter>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="ProfileReference" access="readWrite">
        <description>
          {{reference}} This is the currently active profile, which specifies
          the SSID and security settings to be used by the end point.
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef refType="strong" targetParent="Profile." targetType="row"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="SSIDReference" access="readOnly">
        <description>
          {{reference}} {{param}} is determined based on the
          {{param|Profile.{i}.SSID}} within the associated
          {{param|ProfileReference}}) endpoint profile. {{param}} MUST be
          {{empty}} if {{param|ProfileReference}} is {{empty}} (i.e. only when
          an active profile is assigned can the associated SSID interface be
          determined).
        </description>
        <syntax>
          <string>
            <size maxLength="256"/>
            <pathRef refType="strong" targetParent="#.SSID." targetType="row"/>
          </string>
          <default type="object" value=""/>
        </syntax>
      </parameter>

      <parameter name="ProfileNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.WiFi.EndPoint.{i}.Stats." access="readOnly"
        minEntries="1" maxEntries="1" version="2.0">
      <description>
        Throughput statistics for this end point.
      </description>

      <parameter name="LastDataDownlinkRate" access="readOnly"
          activeNotify="canDeny">
        <description>
          The data transmit rate in {{units}} that was most recently used for
          transmission from the access point to the end point device.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1000" maxInclusive="600000"/>
            <units value="kbps"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="LastDataUplinkRate" access="readOnly"
          activeNotify="canDeny">
        <description>
          The data transmit rate in {{units}} that was most recently used for
          transmission from the end point to the access point device.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="1000" maxInclusive="600000"/>
            <units value="kbps"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="SignalStrength" access="readOnly">
        <description>
          An indicator of radio signal strength of the downlink from the access
          point to the end point, measured in {{units}}, as an average of the
          last 100 packets received from the device.
        </description>
        <syntax>
          <int>
            <range minInclusive="-200" maxInclusive="0"/>
            <units value="dBm"/>
          </int>
        </syntax>
      </parameter>

      <parameter name="Retransmissions" access="readOnly">
        <description>
          The number of {{units}} that had to be re-transmitted, from the last
          100 packets sent to the access point. Multiple re-transmissions of
          the same packet count as one.
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="100"/>
            <units value="packets"/>
          </unsignedInt>
          <default type="object" value="0"/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.WiFi.EndPoint.{i}.Security." access="readOnly"
        minEntries="1" maxEntries="1" version="2.0">
      <description>
        This object contains security related parameters that apply to a WiFi
        end point {{bibref|802.11-2007}}.
      </description>

      <parameter name="ModesSupported" access="readOnly">
        <description>
          {{list}} Indicates which security modes this {{object|#}} instance is
          capable of supporting.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="None"/>
            <enumeration value="WEP-64"/>
            <enumeration value="WEP-128"/>
            <enumeration value="WPA-Personal"/>
            <enumeration value="WPA2-Personal"/>
            <enumeration value="WPA3-Personal"/>
            <enumeration value="WPA-WPA2-Personal"/>
            <enumeration value="WPA3-Personal-Transition"/>
            <enumeration value="WPA-Enterprise"/>
            <enumeration value="WPA2-Enterprise"/>
            <enumeration value="WPA3-Enterprise"/>
            <enumeration value="WPA-WPA2-Enterprise"/>
          </string>
        </syntax>
      </parameter>
    </object>

    <object name="Device.WiFi.EndPoint.{i}.Profile.{i}." access="readWrite"
        numEntriesParameter="ProfileNumberOfEntries" enableParameter="Enable"
        minEntries="0" maxEntries="unbounded" version="2.0">
      <description>
        EndPoint Profile table.
      </description>
      <uniqueKey functional="false">
        <parameter ref="Alias"/>
      </uniqueKey>
      <uniqueKey>
        <parameter ref="SSID"/>
        <parameter ref="Location"/>
        <parameter ref="Priority"/>
      </uniqueKey>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables this Profile.

          When there are multiple WiFi EndPoint Profiles, e.g. each instance
          supports a different SSID and/or different security configuration,
          this parameter can be used to control which of the instances are
          currently enabled.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="false"/>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly">
        <description>
          Indicates the status of this Profile. {{enum}}

          The {{enum|Active}} value is reserved for the instance that is
          actively connected. The {{enum|Available}} value represents an
          instance that is not currently active, but is also not disabled or in
          error. The {{enum|Error}} value MAY be used by the CPE to indicate a
          locally defined error condition.
        </description>
        <syntax>
          <string>
            <enumeration value="Active"/>
            <enumeration value="Available"/>
            <enumeration value="Error" optional="true"/>
            <enumeration value="Disabled"/>
          </string>
          <default type="object" value="Disabled"/>
        </syntax>
      </parameter>

      <parameter name="Alias" access="readWrite" activeNotify="canDeny">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="SSID" access="readWrite">
        <description>
          The profile identifier in use by the connection. The SSID is an
          identifier that is attached to packets sent over the wireless LAN
          that functions as an ID for joining a particular radio network (BSS).
        </description>
        <syntax>
          <string>
            <size maxLength="32"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Location" access="readWrite">
        <description>
          Location of the profile. This value serves as a reminder from the
          user, describing the location of the profile. For example: "Home",
          "Office", "Neighbor House", "Airport", etc. An empty string is also
          valid.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="Priority" access="readWrite">
        <description>
          The profile Priority defines one of the criteria used by the End
          Point to automatically select the "best" AP when several APs with
          known profiles are simultaneously available for association.

          In this situation, the End Point has to select the AP with the higher
          priority in its profile. If there are several APs with the same
          priority, providing different SSID or the same SSID, then the
          wireless end point has to select the APs according to other criteria
          like signal quality, SNR, etc.

          0 is the highest priority.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
          <default type="object" value="0"/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.WiFi.EndPoint.{i}.Profile.{i}.Security."
        access="readOnly" minEntries="1" maxEntries="1" version="2.0">
      <description>
        This object contains security related parameters that apply to a WiFi
        End Point profile {{bibref|802.11-2007}}.
      </description>

      <parameter name="ModeEnabled" access="readWrite">
        <description>
          Indicates which security mode is enabled.
        </description>
        <syntax>
          <string>
            <enumerationRef targetParam="##.Security.ModesSupported"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="WEPKey" access="readWrite">
        <description>
          A WEP key expressed as a hexadecimal string.

          {{param}} is used only if {{param|ModeEnabled}} is set to
          {{enum|WEP-64|ModeEnabled}} or {{enum|WEP-128|ModeEnabled}}.

          A 5 byte {{param}} corresponds to security mode
          {{enum|WEP-64|ModeEnabled}} and a 13 byte {{param}} corresponds to
          security mode {{enum|WEP-128|ModeEnabled}}.
        </description>
        <syntax hidden="true">
          <hexBinary>
            <size minLength="5" maxLength="5"/>
            <size minLength="13" maxLength="13"/>
          </hexBinary>
        </syntax>
      </parameter>

      <parameter name="PreSharedKey" access="readWrite">
        <description>
          A literal PreSharedKey (PSK) expressed as a hexadecimal string.

          {{param}} is only used if {{param|ModeEnabled}} is set to
          {{enum|WPA-Personal|ModeEnabled}} or
          {{enum|WPA2-Personal|ModeEnabled}} or
          {{enum|WPA-WPA2-Personal|ModeEnabled}}.

          If {{param|KeyPassphrase}} is written, then {{param}} is immediately
          generated. The Controller SHOULD NOT set both the
          {{param|KeyPassphrase}} and the {{param}} directly (the result of
          doing this is undefined).
        </description>
        <syntax hidden="true">
          <hexBinary>
            <size maxLength="32"/>
          </hexBinary>
        </syntax>
      </parameter>

      <parameter name="KeyPassphrase" access="readWrite">
        <description>
          A passphrase from which the {{param|PreSharedKey}} is to be
          generated, for {{enum|WPA-Personal|ModeEnabled}} or
          {{enum|WPA2-Personal|ModeEnabled}} or
          {{enum|WPA-WPA2-Personal|ModeEnabled}} security modes.

          If {{param}} is written, then {{param|PreSharedKey}} is immediately
          generated. The Controller SHOULD NOT set both the {{param}} and the
          {{param|PreSharedKey}} directly (the result of doing this is
          undefined). The key is generated as specified by WPA, which uses
          PBKDF2 from PKCS #5: Password-based Cryptography Specification
          Version 2.0 {{bibref|RFC2898}}.
        </description>
        <syntax hidden="true">
          <string>
            <size minLength="8" maxLength="63"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SAEPassphrase" access="readWrite" version="2.13">
        <description>
          A passphrase for {{enum|WPA3-Personal|ModeEnabled}} or
          {{enum|WPA3-Personal-Transition|ModeEnabled}} security modes.

          NOTE: this parameter is for WPA3. WPA2 {{param|PreSharedKey}} is
          generated from {{param|KeyPassphrase}}.
        </description>
        <syntax hidden="true">
          <string/>
        </syntax>
      </parameter>

      <parameter name="MFPConfig" access="readWrite" version="2.11">
        <description>
          Management Frame Protection configuration applicable when
          {{param|ModeEnabled}} is set to {{enum|WPA2-Personal|ModeEnabled}},
          {{enum|WPA2-Enterprise|ModeEnabled}},
          {{enum|WPA3-Personal|ModeEnabled}}, or
          {{enum|WPA3-Enterprise|ModeEnabled}}. When in WPA3 modes, {{param}}
          MUST be set to {{enum|Required}}.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Optional"/>
            <enumeration value="Required"/>
          </string>
          <default type="object" value="Disabled"/>
        </syntax>
      </parameter>
    </object>

    <object name="Device.WiFi.EndPoint.{i}.WPS." access="readOnly"
        minEntries="1" maxEntries="1" version="2.0">
      <description>
        This object contains parameters related to Wi-Fi Protected Setup
        {{bibref|WPSv1.0}} for this end point.
      </description>

      <parameter name="Enable" access="readWrite">
        <description>
          Enables or disables WPS functionality for this end point.
        </description>
        <syntax>
          <boolean/>
          <default type="object" value="true"/>
        </syntax>
      </parameter>

      <parameter name="ConfigMethodsSupported" access="readOnly">
        <description>
          WPS configuration methods supported by the device. {{enum}}

          This parameter corresponds directly to the "Config Methods" attribute
          of {{bibref|WPS 2.0}}.

          The {{enum|USBFlashDrive}} and {{enum|Ethernet}} are only applicable
          in WPS 1.0 and are deprecated in WPS 2.x. The
          {{enum|PhysicalPushButton}}, {{enum|VirtualPushButton}},
          {{enum|PhysicalDisplay}} and {{enum|VirtualDisplay}} are applicable
          to WPS 2.x only.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="USBFlashDrive"/>
            <enumeration value="Ethernet"/>
            <enumeration value="Label"/>
            <enumeration value="Display"/>
            <enumeration value="ExternalNFCToken"/>
            <enumeration value="IntegratedNFCToken"/>
            <enumeration value="NFCInterface"/>
            <enumeration value="PushButton"/>
            <enumeration value="PIN"/>
            <enumeration value="PhysicalPushButton"/>
            <enumeration value="PhysicalDisplay"/>
            <enumeration value="VirtualPushButton"/>
            <enumeration value="VirtualDisplay"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="ConfigMethodsEnabled" access="readWrite">
        <description>
          {{list}} Indicates the WPS configuration methods enabled on the
          device.
        </description>
        <syntax>
          <list/>
          <string>
            <enumerationRef targetParam="ConfigMethodsSupported"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Status" access="readOnly" version="2.11">
        <description>
          {{list}} Indicates the current status of WPS in EndPoint.
        </description>
        <syntax>
          <string>
            <enumeration value="Disabled"/>
            <enumeration value="Error"/>
            <enumeration value="Unconfigured"/>
            <enumeration value="Configured"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Version" access="readOnly" version="2.11">
        <description>
          The Wi-Fi Simple Configuration version supported by the device, a
          string of the form ''m.n'' where ''m'' is the major version and ''n''
          is the minor version.

          For example, a value of ''1.0'' denotes WSC 1.0 and a value of
          ''2.0'' denotes WSC 2.0.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="PIN" access="readWrite" version="2.11">
        <description>
          Represents the Device PIN used for PIN based pairing between WPS
          peers. This PIN is either a four digit number or an eight digit
          number.

          {{hidden}}
        </description>
        <syntax hidden="true">
          <unsignedInt>
            <range minInclusive="4" maxInclusive="4"/>
            <range minInclusive="8" maxInclusive="8"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object name="Device.WiFi.EndPoint.{i}.AC.{i}." access="readOnly"
        minEntries="4" maxEntries="4" version="2.8">
      <description>
        This object contains parameters related to WiFi QoS for different
        802.11e access categories (priorities). Access categories are: BE, BK,
        VI, and VO. These parameters can help control and monitor 802.11e
        Enhanced distributed channel access (EDCA). The size of this table is
        fixed, with four entries which are identified by the
        {{param|AccessCategory}} parameter as follows:

        * BE (Best Effort)

        * BK (Background)

        * VI (Video)

        * VO (Voice)
      </description>
      <uniqueKey>
        <parameter ref="AccessCategory"/>
      </uniqueKey>

      <parameter name="AccessCategory" access="readOnly">
        <description>
          This identifies the access category.
        </description>
        <syntax>
          <string>
            <enumeration value="BE"/>
            <enumeration value="BK"/>
            <enumeration value="VI"/>
            <enumeration value="VO"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="Alias" access="readWrite">
        <description>
          {{datatype|expand}}
        </description>
        <syntax>
          <dataType ref="Alias"/>
        </syntax>
      </parameter>

      <parameter name="AIFSN" access="readWrite" status="deprecated">
        <description>
          Arbitration Inter Frame Spacing (Number). This is the number of time
          slots in the arbitration interframe space.

          {{deprecated|2.15|because it is superseded by the WMM
          Specification.}}
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="2" maxInclusive="15"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ECWMin" access="readWrite" status="deprecated">
        <description>
          Exponent of Contention Window (Minimum). This encodes the values of
          CWMin as an exponent: CWMin = 2^ECWMin - 1. For example, if ECWMin is
          8, then CWMin is 2^8 - 1, or 255, (expressed in {{units}}).

          {{deprecated|2.15|because it is superseded by the WMM
          Specification.}}
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="15"/>
            <units value="microseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ECWMax" access="readWrite" status="deprecated">
        <description>
          Exponent of Contention Window (Maximum). This encodes the values of
          CWMax as an exponent: CWMax = 2^ECWMax - 1. For example, if ECWMax is
          8, then CWMax is 2^8 - 1, or 255, (expressed in {{units}}).

          {{deprecated|2.15|because it is superseded by the WMM
          Specification.}}
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="15"/>
            <units value="microseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="TxOpMax" access="readWrite" status="deprecated">
        <description>
          Maximum transmit opportunity, in multiples of {{units}}. A TXOP time
          interval of 0 means it is limited to a single MAC protocol data unit
          (MPDU).

          {{deprecated|2.15|because it is superseded by the WMM
          Specification.}}
        </description>
        <syntax>
          <unsignedInt>
            <range minInclusive="0" maxInclusive="255"/>
            <units value="32 microseconds"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="AckPolicy" access="readWrite">
        <description>
          Ack Policy, where False="Do Not Acknowledge" and True="Acknowledge"
        </description>
        <syntax>
          <boolean/>
        </syntax>
      </parameter>

      <parameter name="OutQLenHistogramIntervals" access="readWrite">
        <description>
          {{list}} Definition of the histogram intervals for counting the
          transmit queue length in packets. Each value indicates the maximum
          value of the interval. For example, "0,1,4,8," defines the five
          intervals: 0 packets in queue, 1 packet in queue, 2 to 4 packets in
          queue, 5 to 8 packets in queue, and 9 or more packets in queue. (No
          value after the last comma means no upper bound.) If this parameter
          is set to an empty string, no {{param|Stats.OutQLenHistogram}} stats
          will be collected.
        </description>
        <syntax>
          <list/>
          <string/>
        </syntax>
      </parameter>

      <parameter name="OutQLenHistogramSampleInterval" access="readWrite">
        <description>
          The time between recording samples of the current transmit queue
          {{units}}.
        </description>
        <syntax>
          <unsignedInt>
            <units value="seconds"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object name="Device.WiFi.EndPoint.{i}.AC.{i}.Stats." access="readOnly"
        minEntries="1" maxEntries="1" version="2.8">
      <description>
        This object contains statistics for different 802.11e access categories
        (priorities).

        Packet counters here count 802.11 WiFi frames.

        If there are not separate stats for each access category, (e.g.,
        802.11e is not used and there is only one queue), then only access
        category 0 = BE applies (e.g., the statistics for the single queue are
        in access category 0 = BE).

        The CPE MUST reset the EndPoint's Stats parameters (unless otherwise
        stated in individual object or parameter descriptions) either when the
        EndPoint becomes operationally down due to a previous administrative
        down (i.e. the EndPoint's Status parameter transitions to a Disabled
        state) or when the EndPoint becomes administratively up (i.e. the
        EndPoint's Enable parameter transitions from false to true).
        Administrative and operational status is discussed in
        {{bibref|TR-181i2|Section 4.2.2}}.
      </description>

      <parameter name="BytesSent" access="readOnly">
        <description>
          The total number of {{units}} transmitted in this access category,
          including framing characters.
        </description>
        <syntax>
          <dataType ref="StatsCounter64">
            <units value="bytes"/>
          </dataType>
        </syntax>
      </parameter>

      <parameter name="BytesReceived" access="readOnly">
        <description>
          The total number of {{units}} received in this access category,
          including framing characters.
        </description>
        <syntax>
          <dataType ref="StatsCounter64">
            <units value="bytes"/>
          </dataType>
        </syntax>
      </parameter>

      <parameter name="PacketsSent" access="readOnly">
        <description>
          The total number of {{units}} transmitted in this access category.
        </description>
        <syntax>
          <dataType ref="StatsCounter64">
            <units value="packets"/>
          </dataType>
        </syntax>
      </parameter>

      <parameter name="PacketsReceived" access="readOnly">
        <description>
          The total number of {{units}} received in this access category.
        </description>
        <syntax>
          <dataType ref="StatsCounter64">
            <units value="packets"/>
          </dataType>
        </syntax>
      </parameter>

      <parameter name="ErrorsSent" access="readOnly">
        <description>
          The total number of outbound {{units}} in this access category that
          could not be transmitted because of errors. These might be due to the
          number of retransmissions exceeding the retry limit, or from other
          causes.
        </description>
        <syntax>
          <dataType ref="StatsCounter32">
            <units value="packets"/>
          </dataType>
        </syntax>
      </parameter>

      <parameter name="ErrorsReceived" access="readOnly">
        <description>
          The total number of inbound {{units}} in this access category that
          contained errors preventing them from being delivered to a
          higher-layer protocol.
        </description>
        <syntax>
          <dataType ref="StatsCounter32">
            <units value="packets"/>
          </dataType>
        </syntax>
      </parameter>

      <parameter name="DiscardPacketsSent" access="readOnly">
        <description>
          The total number of outbound {{units}} in this access category which
          were chosen to be discarded even though no errors had been detected
          to prevent their being transmitted. One possible reason for
          discarding such a packet could be to free up buffer space.
        </description>
        <syntax>
          <dataType ref="StatsCounter32">
            <units value="packets"/>
          </dataType>
        </syntax>
      </parameter>

      <parameter name="DiscardPacketsReceived" access="readOnly">
        <description>
          The total number of inbound {{units}} in this access category which
          were chosen to be discarded even though no errors had been detected
          to prevent their being delivered. One possible reason for discarding
          such a packet could be to free up buffer space.
        </description>
        <syntax>
          <dataType ref="StatsCounter32">
            <units value="packets"/>
          </dataType>
        </syntax>
      </parameter>

      <parameter name="RetransCount" access="readOnly">
        <description>
          The total number of transmitted {{units}} in this access category
          which were retransmissions. Two retransmissions of the same packet
          results in this counter incrementing by two.
        </description>
        <syntax>
          <dataType ref="StatsCounter32">
            <units value="packets"/>
          </dataType>
        </syntax>
      </parameter>

      <parameter name="OutQLenHistogram" access="readOnly">
        <description>
          {{list}} Histogram of the total length of the transmit queue of this
          access category in packets (1 packet, 2 packets, etc.) according to
          the intervals defined by {{param|#.OutQLenHistogramIntervals}}, with
          samples taken each {{param|#.OutQLenHistogramSampleInterval}}.
          Example: "12,5,1,0,2,0,0,1"
        </description>
        <syntax>
          <list/>
          <string/>
        </syntax>
      </parameter>
    </object>

    <profile name="WiFiRadio:1" version="2.0">
      <object ref="Device.WiFi." requirement="present">
        <parameter ref="RadioNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.WiFi.Radio.{i}." requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="Alias" requirement="readWrite"/>
        <parameter ref="Name" requirement="readOnly"/>
        <parameter ref="Upstream" requirement="readOnly"/>
        <parameter ref="MaxBitRate" requirement="readOnly"/>
        <parameter ref="SupportedFrequencyBands" requirement="readOnly"/>
        <parameter ref="OperatingFrequencyBand" requirement="readWrite"/>
        <parameter ref="SupportedStandards" requirement="readOnly"/>
        <parameter ref="OperatingStandards" requirement="readWrite"/>
        <parameter ref="RegulatoryDomain" requirement="readWrite"/>
        <parameter ref="PossibleChannels" requirement="readOnly"/>
        <parameter ref="Channel" requirement="readWrite"/>
        <parameter ref="AutoChannelSupported" requirement="readOnly"/>
        <parameter ref="AutoChannelEnable" requirement="readWrite"/>
        <parameter ref="TransmitPowerSupported" requirement="readOnly"/>
        <parameter ref="TransmitPower" requirement="readWrite"/>
        <parameter ref="ExtensionChannel" requirement="readWrite"/>
        <parameter ref="GuardInterval" requirement="readWrite"/>
        <parameter ref="MCS" requirement="readWrite"/>
        <parameter ref="IEEE80211hSupported" requirement="readOnly"/>
        <parameter ref="IEEE80211hEnabled" requirement="readWrite"/>
        <parameter ref="ChannelsInUse" requirement="readOnly"/>
      </object>
      <object ref="Device.WiFi.Radio.{i}.Stats." requirement="present">
        <parameter ref="BytesSent" requirement="readOnly"/>
        <parameter ref="BytesReceived" requirement="readOnly"/>
        <parameter ref="PacketsSent" requirement="readOnly"/>
        <parameter ref="PacketsReceived" requirement="readOnly"/>
        <parameter ref="ErrorsSent" requirement="readOnly"/>
        <parameter ref="ErrorsReceived" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="WiFiSSID:1" version="2.0">
      <object ref="Device.WiFi." requirement="present">
        <parameter ref="SSIDNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.WiFi.SSID.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="Alias" requirement="readWrite"/>
        <parameter ref="Name" requirement="readOnly"/>
        <parameter ref="LowerLayers" requirement="readWrite"/>
        <parameter ref="BSSID" requirement="readOnly"/>
        <parameter ref="MACAddress" requirement="readOnly"/>
        <parameter ref="SSID" requirement="readWrite"/>
      </object>
      <object ref="Device.WiFi.SSID.{i}.Stats." requirement="present">
        <parameter ref="BytesSent" requirement="readOnly"/>
        <parameter ref="BytesReceived" requirement="readOnly"/>
        <parameter ref="PacketsSent" requirement="readOnly"/>
        <parameter ref="PacketsReceived" requirement="readOnly"/>
        <parameter ref="ErrorsSent" requirement="readOnly"/>
        <parameter ref="ErrorsReceived" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="WiFiAccessPoint:1" version="2.0">
      <object ref="Device.WiFi." requirement="present">
        <parameter ref="AccessPointNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.WiFi.AccessPoint.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="SSIDReference" requirement="readWrite"/>
        <parameter ref="SSIDAdvertisementEnabled" requirement="readWrite"/>
        <parameter ref="WMMCapability" requirement="readOnly"/>
        <parameter ref="UAPSDCapability" requirement="readOnly"/>
        <parameter ref="WMMEnable" requirement="readWrite"/>
        <parameter ref="UAPSDEnable" requirement="readWrite"/>
        <parameter ref="AssociatedDeviceNumberOfEntries"
            requirement="readOnly"/>
      </object>
      <object ref="Device.WiFi.AccessPoint.{i}.Security."
          requirement="present">
        <parameter ref="ModesSupported" requirement="readOnly"/>
        <parameter ref="ModeEnabled" requirement="readWrite"/>
        <parameter ref="WEPKey" requirement="readWrite"/>
        <parameter ref="PreSharedKey" requirement="readWrite"/>
        <parameter ref="KeyPassphrase" requirement="readWrite"/>
        <parameter ref="RekeyingInterval" requirement="readWrite"/>
        <parameter ref="RadiusServerIPAddr" requirement="readWrite"/>
        <parameter ref="RadiusServerPort" requirement="readWrite"/>
        <parameter ref="RadiusSecret" requirement="readWrite"/>
      </object>
      <object ref="Device.WiFi.AccessPoint.{i}.WPS." requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="ConfigMethodsSupported" requirement="readOnly"/>
        <parameter ref="ConfigMethodsEnabled" requirement="readWrite"/>
      </object>
      <object ref="Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}."
          requirement="present">
        <parameter ref="MACAddress" requirement="readOnly"/>
        <parameter ref="AuthenticationState" requirement="readOnly"/>
        <parameter ref="LastDataDownlinkRate" requirement="readOnly"/>
        <parameter ref="LastDataUplinkRate" requirement="readOnly"/>
      </object>
    </profile>

    <profile name="WiFiAccessPoint:2" base="WiFiAccessPoint:1" version="2.9">
      <object ref="Device.WiFi.AccessPoint.{i}." requirement="present">
        <parameter ref="MACAddressControlEnabled" requirement="readWrite"/>
        <parameter ref="AllowedMACAddress" requirement="readWrite"/>
      </object>
    </profile>

    <profile name="WiFiEndPoint:1" version="2.0">
      <object ref="Device.WiFi." requirement="present">
        <parameter ref="EndPointNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.WiFi.EndPoint.{i}." requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="ProfileReference" requirement="readWrite"/>
        <parameter ref="SSIDReference" requirement="readOnly"/>
        <parameter ref="ProfileNumberOfEntries" requirement="readOnly"/>
      </object>
      <object ref="Device.WiFi.EndPoint.{i}.Stats." requirement="present">
        <parameter ref="LastDataDownlinkRate" requirement="readOnly"/>
        <parameter ref="LastDataUplinkRate" requirement="readOnly"/>
      </object>
      <object ref="Device.WiFi.EndPoint.{i}.Security." requirement="present">
        <parameter ref="ModesSupported" requirement="readOnly"/>
      </object>
      <object ref="Device.WiFi.EndPoint.{i}.Profile.{i}."
          requirement="createDelete">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="Status" requirement="readOnly"/>
        <parameter ref="SSID" requirement="readWrite"/>
        <parameter ref="Location" requirement="readWrite"/>
        <parameter ref="Priority" requirement="readWrite"/>
      </object>
      <object ref="Device.WiFi.EndPoint.{i}.Profile.{i}.Security."
          requirement="present">
        <parameter ref="ModeEnabled" requirement="readWrite"/>
        <parameter ref="WEPKey" requirement="readWrite"/>
        <parameter ref="PreSharedKey" requirement="readWrite"/>
        <parameter ref="KeyPassphrase" requirement="readWrite"/>
      </object>
      <object ref="Device.WiFi.EndPoint.{i}.WPS." requirement="present">
        <parameter ref="Enable" requirement="readWrite"/>
        <parameter ref="ConfigMethodsSupported" requirement="readOnly"/>
        <parameter ref="ConfigMethodsEnabled" requirement="readWrite"/>
      </object>
    </profile>
  </component>

  <component name="DEScanResultNumberOfEntries">
    <object base="ScanResult.{i}." access="readOnly" minEntries="0"
        maxEntries="unbounded">
      <parameter name="OpClassScanNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object base="ScanResult.{i}.OpClassScan.{i}." access="readOnly"
        minEntries="0" maxEntries="unbounded">
      <parameter name="ChannelScanNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>

    <object base="ScanResult.{i}.OpClassScan.{i}.ChannelScan.{i}."
        access="readOnly" minEntries="0" maxEntries="unbounded">
      <parameter name="NeighborBSSNumberOfEntries" access="readOnly">
        <description>
          {{numentries}}
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>
  </component>

  <component name="DEScanResult">

    <object name="ScanResult.{i}." access="readOnly"
        numEntriesParameter="ScanResultNumberOfEntries" minEntries="0"
        maxEntries="unbounded" dmr:noUniqueKeys="true" version="2.14">
      <description>
        The list of neighboring Access Points discovered by a Radio organized
        per Operating Class and Channel tuple.
      </description>

      <parameter name="TimeStamp" access="readOnly">
        <description>
          The timestamp of the last scan. Formatted with the date-and-time
          string format as defined in {{bibref|RFC3339|Section 3}}.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
    </object>

    <object name="ScanResult.{i}.OpClassScan.{i}." access="readOnly"
        numEntriesParameter="OpClassScanNumberOfEntries" minEntries="0"
        maxEntries="unbounded" version="2.14">
      <description>
        The Operating Class of neighboring Access Points discovered by a Radio
        during a channel scan.
      </description>
      <uniqueKey>
        <parameter ref="OperatingClass"/>
      </uniqueKey>

      <parameter name="OperatingClass" access="readOnly">
        <description>
          The Operating Class per {{bibref|802.11-2020|Table E-4}} of the
          OpClass and Channel tuple scanned by the Radio. For 2.4GHz and 5GHz
          bands, only 20MHz Operating Classes are valid.

          Note that the Operating Class identifies the band and channel width.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>

    <object name="ScanResult.{i}.OpClassScan.{i}.ChannelScan.{i}."
        access="readOnly" numEntriesParameter="ChannelScanNumberOfEntries"
        minEntries="0" maxEntries="unbounded" version="2.14">
      <description>
        The Channel associated with an Operating Class of neighboring Access
        Points discovered by a Radio during a channel scan.
      </description>
      <uniqueKey>
        <parameter ref="Channel"/>
      </uniqueKey>

      <parameter name="Channel" access="readOnly">
        <description>
          The channel number of the Channel scanned by the Radio given the
          Operating Class.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="TimeStamp" access="readOnly">
        <description>
          The timestamp of the last scan of the channel. Formatted with the
          date-and-time string format as defined in {{bibref|RFC3339|Section
          3}}.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="Utilization" access="readOnly">
        <description>
          The current Channel Utilization measured by the Radio on the scanned
          20MHz channel, as defined by {{bibref|802.11-2020|Section 9.4.2.27}}.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="Noise" access="readOnly">
        <description>
          An indicator of the average radio noise plus interference power
          measured for the primary operating channel.

          Encoded as defined for ANPI in {{bibref|802.11-2020|Section
          11.10.9.4}}.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

    </object>

    <object
        name="ScanResult.{i}.OpClassScan.{i}.ChannelScan.{i}.NeighborBSS.{i}."
        access="readOnly" numEntriesParameter="NeighborBSSNumberOfEntries"
        minEntries="0" maxEntries="unbounded" version="2.14">
      <description>
        The neighboring BSS discovered by a Radio during a channel scan.
      </description>
      <uniqueKey>
        <parameter ref="BSSID"/>
      </uniqueKey>

      <parameter name="BSSID" access="readOnly">
        <description>
          The BSSID indicated by the neighboring BSS.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="SSID" access="readOnly">
        <description>
          The SSID indicated by the neighboring BSS.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="SignalStrength" access="readOnly">
        <description>
          An indicator of radio signal strength (RSSI) of the Beacon or Probe
          Response frames of the neighboring BSS as received by the radio
          measured in {{units}}. (RSSI is encoded per
          {{bibref|802.11-2020|Table 9-176}}). Reserved: 221 - 255.

          NOTE: The underlying WFA specification is in the process of being
          reviewed for possible clarification. Please refer to that
          specification for more details.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
            <units value="dBm"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="ChannelBandwidth" access="readOnly">
        <description>
          Indicates the maximum bandwidth at which the neighboring BSS is
          operating. e.g. "20" or "40" or "80" or "80+80" or "160" MHz.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

      <parameter name="ChannelUtilization" access="readOnly">
        <description>
          The channel utilization reported by the neighboring BSS per the BSS
          Load element if present in Beacon or Probe Response frames, as
          defined by {{bibref|802.11-2020|Section 9.4.2.27}}.
        </description>
        <syntax>
          <unsignedInt>
            <range maxInclusive="255"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="StationCount" access="readOnly">
        <description>
          The number of Associated Devices (STA) reported by this neighboring
          BSS per the BSS Load element if present in Beacon or Probe Response
          frames as defined by {{bibref|802.11-2020|Section 9.4.2.27}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>
    </object>
  </component>

  <component name="BigScanResultNumberOfEntries">
    <component ref="DEScanResultNumberOfEntries"/>
  </component>

  <component name="BigScanResult">
    <component ref="DEScanResult"/>

    <object
        base="ScanResult.{i}.OpClassScan.{i}.ChannelScan.{i}.NeighborBSS.{i}."
        access="readOnly" numEntriesParameter="NeighborBSSNumberOfEntries"
        minEntries="0" maxEntries="unbounded" version="2.15">

      <parameter name="SecurityModeEnabled" access="readOnly">
        <description>
          The type of encryption the neighboring WiFi SSID advertises.

          The {{enum|WEP}} value indicates either WEP-64 or WEP-128.

          The {{enum|WPA}} value is the same as WPA-Personal.

          The {{enum|WPA2}} value is the same as WPA2-Personal.

          The {{enum|WPA-WPA2}} value is the same as WPA-WPA2-Personal.

          The {{enum|WPA3-SAE}} value is the same as WPA3-Personal.

          The {{enum|WPA2-PSK-WPA3-SAE}} value is the same as
          WPA3-Personal-Transition.
        </description>
        <syntax>
          <string>
            <enumeration value="None"/>
            <enumeration value="WEP"/>
            <enumeration value="WPA"/>
            <enumeration value="WPA2"/>
            <enumeration value="WPA-WPA2"/>
            <enumeration value="WPA-Enterprise"/>
            <enumeration value="WPA2-Enterprise"/>
            <enumeration value="WPA-WPA2-Enterprise"/>
            <enumeration value="WPA3-SAE"/>
            <enumeration value="WPA2-PSK-WPA3-SAE"/>
            <enumeration value="WPA3-Enterprise"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="EncryptionMode" access="readOnly">
        <description>
          The type of encryption the neighboring WiFi SSID advertises.

          When {{param|SecurityModeEnabled}} is one of
          {{enum|WPA3-SAE|SecurityModeEnabled}},
          {{enum|WPA2-PSK-WPA3-SAE|SecurityModeEnabled}}, or
          {{enum|WPA3-Enterprise|SecurityModeEnabled}}, {{enum|TKIP}} is not
          valid, and should not be in the list.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="TKIP"/>
            <enumeration value="AES"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="SupportedStandards" access="readOnly">
        <description>
          {{list}} List items indicate which IEEE 802.11 standards this
          {{object}} instance can support simultaneously, in the frequency band
          specified by {{param|##.Channel}}. {{enum}}

          Each value indicates support for the indicated standard.
        </description>
        <syntax>
          <list/>
          <string>
            <enumeration value="a">
              <description>{{bibref|802.11a-1999}}</description>
            </enumeration>
            <enumeration value="b">
              <description>{{bibref|802.11b-1999}}</description>
            </enumeration>
            <enumeration value="g">
              <description>{{bibref|802.11g-2003}}</description>
            </enumeration>
            <enumeration value="n">
              <description>{{bibref|802.11n-2009}}</description>
            </enumeration>
            <enumeration value="ac">
              <description>{{bibref|802.11ac-2013}}</description>
            </enumeration>
            <enumeration value="ax">
              <description>{{bibref|802.11ax}}</description>
            </enumeration>
          </string>
        </syntax>
      </parameter>

      <parameter name="OperatingStandards" access="readOnly">
        <description>
          {{list}} List items indicate which IEEE 802.11 standard that is
          detected for this {{object}}.

          Each value indicates support for the indicated standard.

          For example, a value of "g,b" (or "b,g" - order is not important)
          means that the 802.11g standard {{bibref|802.11g-2003}} is used with
          a backwards-compatible mode for 802.11b {{bibref|802.11b-1999}}. A
          value of "g" means that only the 802.11g standard can be used.
        </description>
        <syntax>
          <list/>
          <string>
            <enumerationRef targetParam="SupportedStandards"/>
          </string>
        </syntax>
      </parameter>

      <parameter name="BasicDataTransferRates" access="readOnly">
        <description>
          {{list}} Basic data transmit rates (in Mbps) for the SSID. For
          example, if {{param}} is "1,2", this indicates that the SSID is
          operating with basic rates of 1 Mbps and 2 Mbps.
        </description>
        <syntax>
          <list>
            <size maxLength="256"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="SupportedDataTransferRates" access="readOnly">
        <description>
          {{list}} Data transmit rates (in Mbps) for unicast frames at which
          the SSID will permit a station to connect. For example, if {{param}}
          is "1,2,5.5", this indicates that the SSID will only permit
          connections at 1 Mbps, 2 Mbps and 5.5 Mbps.
        </description>
        <syntax>
          <list>
            <size maxLength="256"/>
          </list>
          <string/>
        </syntax>
      </parameter>

      <parameter name="SupportedNSS" access="readOnly">
        <description>
          The maximum number of spatial streams (NSS) that can be supported.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="DTIMPeriod" access="readOnly">
        <description>
          The number of beacon intervals that elapse between transmission of
          Beacon frames containing a TIM element whose DTIM count field is 0.
          This value is transmitted in the DTIM Period field of beacon frames.
          {{bibref|802.11-2020}}
        </description>
        <syntax>
          <unsignedInt>
            <units value="ms"/>
          </unsignedInt>
        </syntax>
      </parameter>

      <parameter name="BeaconPeriod" access="readOnly">
        <description>
          Time interval (in {{units}}) between transmitting beacons.
        </description>
        <syntax>
          <unsignedInt>
            <units value="ms"/>
          </unsignedInt>
        </syntax>
      </parameter>
    </object>
  </component>

  <component name="AssociationEventData">
      <parameter name="BSSID" access="readOnly">
        <description>
          The MAC Address of the logical BSS (BSSID) which is reporting the
          Association Event.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="MACAddress" access="readOnly">
        <description>
          The MAC Address of the Associated Device (STA).
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="StatusCode" access="readOnly">
        <description>
          The status code sent to the Associated Device (STA) in the Association
          Response frame as defined by {{bibref|802.11-2020|Table 9-50}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="HTCapabilities" access="readOnly">
        <description>
          Describes the HT capabilities of the Associated Device (STA).
        </description>
        <syntax>
          <base64>
            <size minLength="1" maxLength="1"/>
          </base64>
        </syntax>
      </parameter>

      <parameter name="VHTCapabilities" access="readOnly">
        <description>
          Describes the VHT capabilities of the Associated Device (STA).
        </description>
        <syntax>
          <base64>
            <size minLength="2" maxLength="6"/>
          </base64>
        </syntax>
      </parameter>

      <parameter name="HECapabilities" access="readOnly">
        <description>
          Describes the HE capabilities of the Associated Device (STA).
        </description>
        <syntax>
          <base64>
            <size minLength="4" maxLength="14"/>
          </base64>
        </syntax>
      </parameter>

      <parameter name="TimeStamp" access="readOnly">
        <description>
          The time this event happened. Formatted with the date-and-time string
          format as defined in {{bibref|RFC3339|Section 3}}.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
  </component>

  <component name="DisassociationEventData">
      <parameter name="BSSID" access="readOnly">
        <description>
          The MAC Address of the logical BSS ( BSSID) which is reporting the
          Disassociation Event.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="MACAddress" access="readOnly">
        <description>
          The MAC Address of the Associated Device (STA).
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="ReasonCode" access="readOnly">
        <description>
          The Reason Code received by the AP from the Associated Device (STA) in
          the most recent Disassociation or Deauthentication frame or sent by the
          AP to the Associated Device (STA) in the most recent Disassociation or
          Deauthentication frame as defined in {{bibref|802.11-2020|Table 9-49}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="BytesSent" access="readOnly">
        <description>
          The total number of bytes transmitted to the Associated Device (STA).
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="BytesReceived" access="readOnly">
        <description>
          The total number of bytes received from the Associated Device (STA).
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="PacketsSent" access="readOnly">
        <description>
          The total number of packets transmitted to the Associated Device (STA).
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="PacketsReceived" access="readOnly">
        <description>
          The total number of packets received from the Associated Device (STA).
        </description>
        <syntax>
          <dataType ref="StatsCounter64"/>
        </syntax>
      </parameter>

      <parameter name="ErrorsSent" access="readOnly">
        <description>
          The total number of outbound packets that could not be transmitted to
          the Associated Device (STA) because of errors. These might be due to
          the number of retransmissions exceeding the retry limit or from other
          causes.
        </description>
        <syntax>
          <dataType ref="StatsCounter32"/>
        </syntax>
      </parameter>

      <parameter name="ErrorsReceived" access="readOnly">
        <description>
          The total number of inbound packets from the Associated Device (STA)
          that contained errors preventing them from being delivered to a
          higher-layer protocol.
        </description>
        <syntax>
          <dataType ref="StatsCounter32"/>
        </syntax>
      </parameter>

      <parameter name="RetransCount" access="readOnly">
        <description>
          The total number of transmitted packets to the Associated Device (STA)
          which were retransmissions.

          N retransmissions of the same packet results in this counter
          incrementing by N.
        </description>
        <syntax>
          <dataType ref="StatsCounter32"/>
        </syntax>
      </parameter>

      <parameter name="TimeStamp" access="readOnly">
        <description>
          The time this event happened. Formatted with the date-and-time string
          format as defined in {{bibref|RFC3339|Section 3}}.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>
  </component>

  <component name="FailedConnectionEventData">

      <parameter name="MACAddress" access="readOnly">
        <description>
          STA MAC Address identifying the client that has attempted to connect.
        </description>
        <syntax>
          <dataType ref="MACAddress"/>
        </syntax>
      </parameter>

      <parameter name="StatusCode" access="readOnly">
        <description>
          Status Code set to a non-zero value that indicates the reason for
          association or authentication failure as defined in
          {{bibref|802.11-2020|Table 9-50}}, or Status Code set to zero and
          {{param|ReasonCode}} provided.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="ReasonCode" access="readOnly">
        <description>
          Reason Code indicating the reason the STA was disassociated or
          deauthenticated as defined in {{bibref|802.11-2020|Table 9-49}}.
        </description>
        <syntax>
          <unsignedInt/>
        </syntax>
      </parameter>

      <parameter name="TimeStamp" access="readOnly">
        <description>
          The time this event happened. Formatted with the date-and-time string
          format as defined in {{bibref|RFC3339|Section 3}}.
        </description>
        <syntax>
          <string/>
        </syntax>
      </parameter>

  </component>

  <model name="WiFi:2.15">
    <component ref="Root"/>
    <component ref="WiFi"/>
  </model>
</dm:document>
