Kafka Telemetry

Kafka is a distributed streaming platform used for building real-time data pipelines and streaming applications. It acts as a message broker, handling the ingestion, storage, and processing of streams of events. Kafka is known for its high throughput, fault tolerance, and scalability, making it suitable for handling large volumes of data.

Kafka Telemetry events sent from the cBR-8 enable service providers to reduce and eventually eliminate the traditional Simple Network Management Protocol (SNMP) client polling. As a result, CPU load can be significantly reduced, and duplicate polling from various service provider back-end systems can be eliminated.

Table 1.
Kafka Message Release Introduced Kafka Topic GPB Message GPB File
Message Union 17.12.1z cisco.cbr Message cisco_cable_telemetry.proto
us-rxmer 17.12.1y cisco.cbr.cm.us.ofdma.rxmer CmUsOfdmaRxMer cm_us_ofdma_rxmer.proto
ofdma-status 17.12.1z cisco.cbr.us.ofdma.status UsOfdmaStatus us_ofdma_status.proto
ofdma-status (version 2) 17.18.1y cisco.cbr.us.ofdma.status UsOfdmaStatus
ds-ctrlr-status 17.15.1y cisco.cbr.ds.ctrlr.status DsCtrlrStatus ds_ctrlr_status.proto
cm-partial-service 17.15.1y cisco.cbr.cm.partial.service CmPartialService cm_partial_service.proto
cm-reg-status 17.15.1z cisco.cbr.cm.reg.status CmRegStatus cm_reg_status.proto
cm-stats 17.15.1z cisco.cbr.cm.stats CmStats cm_stats.proto
usdynpwr-event 17.15.1z cisco.cbr.cm.event.us.dynpwr CmTcsChg cm_us_dyn_pwr.proto
ofdma-cwerr-downgrade 17.18.1w cisco.cbr.cm.us.ofdma.cwerr.downgrade CmUsOfdmaDowngrade ofdma_cwerr_downgrade.proto
ofdma-aqprobe 17.18.1y cisco.cbr.cm.us.ofdma.aqprobe CmUsOfdmaAqProbe cm_us_aq_probe.proto
us-scqam-status 17.18.1y cisco.cbr.us.scqam.status.UsScqamStatus UsScqamStatus us_scqam_status.proto
ds-scqam-status 17.18.1y cisco.cbr.ds.scqam.status.DsScqamStatus DsScqamStatus ds_scqam_status.proto
ds-ofdm-status 17.18.1y cisco.cbr.ds.ofdm.status.DsOfdmStatus DsOfdmStatus ds_ofdm_status.proto
us-ctrlr-stats 17.18.1y cisco.cbr.us.ctrlr.stats.UsCtrlrStatistics UsCtrlrStatistics us_ctrlr_stats.proto
ds-ctrlr-stats 17.18.1y cisco.cbr.ds.ctrlr.stats.DsCtrlrStatistics DsCtrlrStatistics ds_ctrlr_stats.proto

Kafka Telemetry

Table 2. Feature History

Feature Name

Release Information

Feature Description

Kafka support for multiple brokers

Cisco IOS XE Dublin 17.12.1z

Starting from this release, Kafka broker cluster now provides support for monitoring the connection status of up to a maximum of two brokers. Each broker connection can be maintained independently.

Kafka support for OFDMA channel information

Cisco IOS XE Dublin 17.12.1z

The cBR-8 routers now include a new telemetry event, OFDMA-Status, which serves to identify channel configurations and monitor the upstream status of channels.

Starting with Cisco IOS XE Dublin 17.12.1x release, a new Binos process was introduced to support Kafka. This process also services the SNMP PNM TFTP requests replacing the legacy Guestshell PNM TFTP application.

Kafka Broker Connection

The Kafka broker must be specified by IPv4 address using the bootstrap-servers command:

cable telemetry broker kafka-broker
   bootstrap-servers 1.2.0.150:9092 

The following Kafka Broker configuration is required in server.properties when starting the server.

[root@kafka-server config]#bin/kafka-server-start.sh config/server.properties
# Listener name, hostname and port the broker will advertise to clients. 
# If not set, it uses the value for "listeners". advertised.listeners=PLAINTEXT://1.2.0.150:9092 

Kafka US-RxMER Telemetry Event

cBR-8 Telemetry events are published on Kakfa using Google Protocol Buffer (GPB) message format. GPB is a language-neutral, platform-neutral, extensible mechanism for serializing structured data.

Here are the details of the Cisco Telemetry GPB file:

  • Package: cisco_cable_telemetry

  • Message: PmaUsRxMer

    Sub-messages

    • OssiPnmUsRxMer

    • PmaUsRxMerHdr

Here is a sample GBP .proto file for the US-RxMER event:

/*
 *
 * file: cisco_cable_telemetry.proto
 * 
 * Upstream MER Telemetry and channel stats, Google Proto Buff format
 *
 * Copyright (c) 2022-2024 by Cisco Systems, Inc.
 * All rights reserved.
 */ 

syntax = "proto3";

package cisco_cable_telemetry;

message OssiPnmUsRxMer {
  uint32 file_type                     = 1;
  uint32 major_ver                     = 2;
  uint32 minor_ver                     = 3;
  uint32 capture_time                  = 4;
  uint32 if_index                      = 5;
  string ccap_id                       = 6;
  bytes  rpd_id                        = 7;
  uint32 rpd_port_num                  = 8;
  bytes  cm_mac_addr                   = 9;
  uint32 number_of_averages            = 10;
  uint32 preeq_on_off                  = 11;
  uint32 subcarrier_zero_center_freq   = 12;
  uint32 first_active_subcarrier_index = 13;
  uint32 subcarrier_spacing_in_khz     = 14;
  uint32 rx_mer_byte_len               = 15;
  bytes  rx_mer_data                   = 16;
}

message PmaUsRxMerHdr {
  uint32 version           = 1;
  uint32 slot              = 2;
  uint32 ctrlr             = 3;
  uint32 us_channel        = 4;
  uint32 mac_domain        = 5;
  uint32 ucid              = 6;
  uint32 ucd_cc            = 7;
  uint64 total_cws         = 8;
  uint64 good_cws          = 9;
  uint64 corr_cws          = 10;
  uint64 uncorr_cws        = 11;
}

message PmaUsRxMer {
  PmaUsRxMerHdr    header  = 1;
  OssiPnmUsRxMer   ossi    = 2;
}

Here is a sample GBP .proto file for the OFDMA-Status event:

/*
 *
 * file: cisco_docsis_ofdma_status.proto
 * 
 * DOCSIS 3.1 OFDMA channel config and status, Google Proto Buff format
 *
 * Copyright (c) 2023 by Cisco Systems, Inc.
 * All rights reserved.
 */ 

syntax = "proto3";

package cisco_docsis_ofdma_channel;


/* OFDMA channel state. ​*/
enum OfdmaState {
    OFDMA_STATE_UNSPECIFIED = 0;         // reject stage and commit​
    OFDMA_STATE_ADMIN_DOWN  = 1;         // accept stage , reject commit
    OFDMA_STATE_ADMIN_UP_OPER_DOWN = 2;  // accept stage and commit
    OFDMA_STATE_OPER_UP  = 3;
}

/* LCHA status​ */
enum LchaStatus {
    LCHA_STATUS_UNSPECIFIED = 0;
    LCHA_STATUS_PRIMARY_ACTIVE  = 1;
    LCHA_STATUS_SECONDARY_ACTIVE = 2;
}
/* See MULPI Spec table "Channel TLV Parameters" TLV 28 ​*/
enum SubcarrierSpacing {
     SC_SPACING_UNSPECIFIED = 0;
     SC_SPACING_25KHZ = 1;
     SC_SPACING_50KHZ = 2;
}
message SubcarrierBand {
    uint32 sc_start = 1;
    uint32 sc_end   = 2;
}

message MinislotGroup {
    uint32 sc_start = 1;
    uint32 minislot_start = 2;
    // Modulation bitload range: {0-12}
    //    Ref: Cablelabs MULPI spec UCD TLV 21 Table:
    uint32 modulation_bitload = 3;
    // Pilot Pattern Range: {1-14}
    //    Ref: Cablelabs MULPI spec table
    uint32 pilot_pattern = 4;
    uint32 consecutive_minislots = 5;
}

message IucBurstProfile {
    uint32 iuc = 1;
    repeated MinislotGroup minislot_groups = 2;
}
message PmaOfdmaStatus {
    uint32 major_ver       = 1;
    uint32 minor_ver       = 2;
    uint32 reporting_time  = 3;
    uint32 if_index        = 4;
    string ccap_id         = 5;
    uint32 slot            = 6;                   // primary slot ​
    uint32 ctrlr           = 7;
    uint32 us_channel      = 8;
    uint32 mac_domain      = 9;
    uint32 ucid            = 10;                  // 1-based ucid
    OfdmaState ofdma_state         = 11;
    LchaStatus lcha_status         = 12;
    SubcarrierSpacing  sc_spacing          = 13;
    uint32             sc_0_center_freq_hz = 14;

    repeated     SubcarrierBand  sc_exclusion_bands          = 15;
    repeated     SubcarrierBand  sc_unused_bands             = 16;
    repeated     IucBurstProfile base_iuc_burst_profiles     = 17;
    repeated     IucBurstProfile current_iuc_burst_profiles  = 18;
 }

Test

Table 3. Feature History

Feature Name

Release Information

Feature Description

cBR8 SNMP MIBs to convert to gRPC for Kafka Bus

Cisco IOS XE Dublin 17.15.1z

To lower cBR8 SUP IOSd CPU and offload some SNMP polling to a streaming telemetry method, this feature converts the first phase of frequently polled MIB OIDs to put on the cBR8 Kafka bus.

Table 4. Feature History

Feature Name

Release Information

Feature Description

Kafka support for channel set of a modem to be continually reassessed over time

Cisco IOS XE Dublin 17.15.1z

System level notifications for power monitoring downgrade and upgrade have been added for Kafka telemetry using “cm.event.us.dynpwr”.

Table 5. Feature History

Feature Name

Release Information

Feature Description

Channel set of a modem to be continually reassessed over time based on the power capability of the modem and current plant attenuation

Cisco IOS XE Dublin 17.15.1z

Modems with limited transmit power ceiling are assigned a single upstream OFDMA channel as their upstream bounding group. These modems continue to be close to their maximum transmit power with a single OFDMA and experience upstream data error issues. The preference is for these modems to drop its bonding group to a group of ATDMA channels instead of a single OFDMA channel.

After a modem comes online, the CMTS software will continue monitoring the modem transmit power and perform upstream bonding group (UBG) adjustment if the modem transmit power moves higher. If the modem’s transmit power moves lower, the CMTS will move the modem to use higher frequency width UBG.

Kafka Telemetry Messages for DS Resiliency Show Commands

Table 6. Feature History

Feature Name

Release Information

Feature Description

DS Resilency Commands for Google Protocol Buffer

Cisco IOS XE Dublin 17.15.1y

In this release, the output of various DS Resiliency show commands are streamed over Kafka in Google Protocol Buffer.

The DS resiliency Kafka Telemetry Messages publish event data that is related to the downstream (DS) channel status and partial service events using Kafka topics. This feature is designed for service providers to monitor and manage the health and status of cable modems and channels using streaming telemetry in GPB format.

Commands Added:

  • cable telemetry periodic-timer timer-name interval interval-time

  • cable telemetry message ds-ctrlr-status periodic-timer timer-name

  • cable telemetry message cm-partial-service periodic-timer timer-name

Information About DS Resiliency Commands for Google Protocol Buffer

The DS resiliency Kafka Telemetry Messages publish event data (DS channel status and CM partial service events) to the Kafka broker topics, namely cisco.cbr.ds.ctrlr.status and cisco.cbr.cm.partial.service. These messages are periodically sent to enable monitoring of cable modem status and channel impairments, facilitating proactive management of network health.

The DS resiliency data format is defined in Google Protocol Buffer (*.gpb) file. The event is published in a separate Kafka topic.

Google ProBuff Files

  • Here is a sample of the contents of a GPB file for cisco.cbr.ds.ctrlr.status.

    /*
     *
     * file: ds_ctrlr_status.proto
     * 
     * DS Ctrlr Status, Google Proto Buff format
     *
     * Copyright (c) 2023-2025 by Cisco Systems, Inc.
     * All rights reserved.
     */ 
    
    
    syntax = "proto3";
    
    package cisco.cbr.ds.ctrlr.status;
    
    
    message DsChannelStatus {
      uint32 ds_channel = 1;
      uint32 total_cm_online = 2;
      uint32 total_cm_reporting_down = 3;
    }
    
    message DsCtrlr {
      uint32 ctrlr = 1;
      repeated DsChannelStatus ds_channel_status = 2;
    }
    
    message DsCtrlrStatus {
      string ccap_id = 1;
      uint32 slot = 2;
      uint32 md_index                    = 3;
      uint32 md_if_index                 = 4;
      repeated DsCtrlr ds_ctrlr = 5;
    }
  • Here is a sample of the contents of a GPB file for cisco.cbr.cm.partial.service.

    *
     *
     * file: cm_partial_service.proto
     * 
     * CM PARTIAL SERVICE, Google Proto Buff format
     *
     * Copyright (c) 2023-2025 by Cisco Systems, Inc.
     * All rights reserved.
     */ 
    
    syntax = "proto3";
    
    package cisco.cbr.cm.partial.service;
    
    
    message CtrlrChannel {
        uint32 ctrlr = 1;
        repeated uint32 channel = 2;
    }
    
    enum PartialServiceType {
        PARTIAL_SERVICE_UNREPORTED          = 0;
        PARTIAL_SERVICE_OTHER               = 1;
        PARTIAL_SERVICE_NONE                = 2;
        PARTIAL_SERVICE_DS_ONLY_IMPAIRED    = 3;
    }
    
    message CmStatusPartialService {
      bytes mac_addr                               = 1;
      PartialServiceType partial_service_type      = 2;
      uint32 us_chan_count                         = 3;
      uint32 ds_chan_count                         = 4;
      repeated CtrlrChannel us_impaired_ctrlr_channels        = 5;
      repeated CtrlrChannel ds_impaired_ctrlr_channels        = 6;
    }
    
    message CmPartialService {
        string ccap_id                     = 1;
        uint32 slot                        = 2;
        uint32 md_index                    = 3;
        uint32 md_if_index                 = 4;
        repeated CmStatusPartialService cm_status_partial_service       = 5;
    }
    

Here is a sample of the contents of a GPB file for cisco.cbr.ds.ctrlr.status.

Benefits of DS Resiliency Show Commands

  • Enables monitoring of cable modem and channel status.

  • Facilitates proactive management and quick identification of network issues.

  • Uses streaming telemetry for efficient data handling and integration with existing network management systems.

  • Supports high availability and reload configurations by saving settings in the Indigo DB.

Prerequisites for DS Resiliency Show Commands

  • Kafka broker must be set up and accessible with the specified IP address.

  • Cable telemetry feature should be enabled on the network devices.

Configuration Commands

Use these commands to configure this feature:

  • Enable cable telemetry:

    router(config)# cable telemetry enable
  • Configure cable telemetry periodic timer:

    router(config)# cable telemetry periodic-timer timer-name interval interval-time

    Here timer-name refers to the name of the timer and interval-time is the number od seconds with a range of 10-1440.

  • Configure DS controller status message and telemetry broker:

    router(config)# cable telemetry message ds-ctrlr-status periodic-timer timer-name
    router(config)# cable telemetry broker kafka-broker
    router(config-cable-telemetry-broker)# bootstrap-servers IP_Address
    router(config-cable-telemetry-broker)# message ds-ctrlr-status
  • Configure CM partial service message: and telemetry broker:

    router(config)# cable telemetry message cm-partial-service periodic-timer timer-name
    router(config)# cable telemetry broker kafka-broker
    router(config-cable-telemetry-broker)# bootstrap-servers IP_Address
    router(config-cable-telemetry-broker)# message cm-partial-service

Verify DS Resiliency Show Command

To verify the configuration:

  • Check the output on the Kafka consumer to ensure that GPB messages are being printed correctly with the expected channel status and CM lists.

  • Use the show cable modem summary wb-rfs commands to verify telemetry data and view wideband RF resiliency status summary.

    router#show cable modem summary wb-rfs
    Load for five secs: 4%/0%; one minute: 4%; five minutes: 4%
    Time source is NTP, 06:05:17.628 EDT Fri Apr 25 2025
    
              Total     Total    Percent
    RF        w-online  RF down  RF down
    --------  --------  -------  -------
    1/0/0 1   16        0        0
          2   16        0        0
          3   16        0        0
          158 1         0        0
    1/0/1 2   6         0        0
          3   6         0        0
          4   6         0        0
          5   6         0        0
          6   6         0        0
          7   6         0        0
          8   6         0        0
          9   5         0        0
          10  5         0        0
          11  5         0        0
          12  5         0        0
          13  5         0        0
          14  5         0        0
          15  5         0        0
          16  5         0        0
          17  5         0        0
          18  5         0        0
          19  5         0        0
          20  5         0        0
          21  5         0        0
          22  5         0        0
          23  5         0        0
          158 5         0        0
    
  • Here is a sample of the running configuration:

    router#show run | sec telemetry
    cable telemetry periodic-timer 10mins interval 10
    cable telemetry periodic-timer interval 11
    cable telemetry enable
    cable telemetry message ds-ctrlr-status periodic-timer 10mins
    cable telemetry message cm-partial-service periodic-timer normal
    cable telemetry broker broker1
      bootstrap-servers 10.79.196.164
      message cm-partial-service
    cable telemetry broker broker2
      bootstrap-servers 10.79.196.162
      message ds-ctrlr-status
  • Here is a sample of the show cable modem partial-service ds-partial command:

    router#show cable modem partial-service ds-partial
    Load for five secs: 11%/1%; one minute: 11%; five minutes: 10%
    Time source is NTP, 17:13:25.389 CST Thu Apr 15 2025
    MAC Address    IP Address      I/F           MAC               DSxUS  Impaired    Impaired    Forwarding
                                                 State             State  DS          US          Interface
    
    c0c6.87ff.e168 104.1.106.239   C1/0/0/UB     p-online(pt)      27x4   1/0/0:12                Wi1/0/0:24          
                                                                          1/0/0:13    
                                                                          1/0/0:14    
                                                                          1/0/0:15    
                                                                          1/0/0:16    
                                                                          1/0/0:17    
                                                                          1/0/0:18    
    

Supported Scenarios

The DS Resiliency show commands are useful in scenarios where monitoring of cable modem status and channel impairments is critical, such as in large-scale service provider networks, where quick identification and resolution of network issues are necessary to maintain service quality.

Kafka Telemetry for MIB Tables

Table 7. Feature History

Feature Name

Release Information

Feature Description

Kafka Telemetry for MIB Tables

Cisco IOS XE Dublin 17.15.1z

This feature enables the streaming of Management Information Base (MIB) table data onto a Kafka bus in Google Protocol Buffer (GPB) format. It involves migrating specific MIB/OID (Object Identifier) entry values to new Kafka topics and protobuf messages. This process is handled by a dedicated process on the SUP (Supervisor Processor) that manages Kafka Event Streaming, effectively acting as a CBR (Cable Broadband Router) Telemetry system.

The Kafka Telemetry for MIB Tables feature publishes various types of data to Kafka Brokers, each with a dedicated topic and containing specific SNMP MIB information. The messages are generated in GPB form.

Table 8. OID Supported in 17.15.1z

OID Name

MIB Entry

1.3.6.1.2.1.10.127.1.3.3.1.2

docsIfCmtsCmStatusMacAddress

docsIfCmtsCmStatusEntry

1.3.6.1.2.1.10.127.1.3.3.1.21

docsIfCmtsCmStatusInetAddress

docsIfCmtsCmStatusEntry

1.3.6.1.2.1.10.127.1.3.3.1.20

docsIfCmtsCmStatusInetAddressType

docsIfCmtsCmStatusEntry

1.3.6.1.2.1.10.127.1.3.3.1.9

docsIfCmtsCmStatusValue

docsIfCmtsCmStatusEntry

1.3.6.1.4.1.4491.2.1.20.1.3.1.2

docsIf3CmtsCmRegStatusMacAddr

docsIf3CmtsCmRegStatusEntry

1.3.6.1.4.1.4491.2.1.20.1.3.1.3

docsIf3CmtsCmRegStatusIPv6Addr

docsIf3CmtsCmRegStatusEntry

1.3.6.1.4.1.4491.2.1.20.1.3.1.5

docsIf3CmtsCmRegStatusIPv4Addr

docsIf3CmtsCmRegStatusEntry

1.3.6.1.4.1.4491.2.1.20.1.3.1.6

docsIf3CmtsCmRegStatusValue

docsIf3CmtsCmRegStatusEntry

1.3.6.1.4.1.4491.2.1.20.1.3.1.7

docsIf3CmtsCmRegStatusMdIfIndex

docsIf3CmtsCmRegStatusEntry

1.3.6.1.4.1.4491.2.1.20.1.3.1.14

docsIf3CmtsCmRegStatusLastRegTime

docsIf3CmtsCmRegStatusEntry

1.3.6.1.4.1.4491.2.1.20.1.4.1.7

docsIf3CmtsCmUsStatusUnerroreds

docsIf3CmtsCmUsStatusEntry

1.3.6.1.4.1.4491.2.1.20.1.4.1.8

docsIf3CmtsCmUsStatusCorrecteds

docsIf3CmtsCmUsStatusEntry

1.3.6.1.4.1.4491.2.1.20.1.4.1.9

docsIf3CmtsCmUsStatusUncorrectables

docsIf3CmtsCmUsStatusEntry

Information About Kafka Telemetry for MIB Tables

The primary goal of this feature is to enhance system efficiency by reducing CPU usage on the SUP IOSd (Internetwork Operating System daemon) and minimizing the processing load associated with SNMP MIBs on the SUP IOSd. By converting MIB/OID data into Kafka telemetry messages, the system can offload and streamline data collection and processing.

The following Kafka messages are supported:

  • 3.1.1 - Kafka message cm-reg-status : The solution publishes cm-reg-status data to Kafka Broker. By default, this message is published within a separated kafka topic: cisco.cbr.cm.reg.status, which should include the following snmp mib information: docsIfCmtsCmStatusMacAddress/docsIf3CmtsCmRegStatusMacAddr, docsIf3CmtsCmRegStatusIPv4Addr, docsIf3CmtsCmRegStatusIPv6Addr, docsIf3CmtsCmRegStatusLastRegTime, docsIf3CmtsCmRegStatusValue/ docsIfCmtsCmStatusValue, docsIf3CmtsCmRegStatusMdIfIndex

  • 3.1.2 Kafka message cm-stats : The solution publishs cm-status data to Kafka Broker. By default, this message ispublished within a separated kafka topic: cisco.cbr.cm.stats, which should include the following snmp mib information: docsIfCmtsCmStatusMacAddress/docsIf3CmtsCmRegStatusMacAddr,docsIf3CmtsCmUsStatusUnerroreds,docsIf3CmtsCmUsStatusCorrecteds,docsIf3CmtsCmUsStatusUncorrectables and related channel information.

Benefits of Kafka Telemetry for MIB Tables

  • Optimized CPU Usage: Reduces the CPU load on the SUP IOSd.

  • Reduced SNMP Processing: Decreases the amount of SNMP MIB processing required on the SUP IOSd.

  • Efficient Data Streaming: Provides MIB data as streaming telemetry in GPB format for efficient consumption by other systems. Events are transmitted only when data changes, reducing unnecessary data transfers.

  • Decoupling of Streaming Telemetry: Separates telemetry operations from the SUP IOSd, potentially improving system stability and performance.

  • Scalability: Supports OIDs that scale with Cable Modem (CM) count, making it suitable for large deployments.

Supported Scenarios:

This feature supports streaming various MIB tables related to upstream and downstream channel status and utilization for DOCSIS (Data Over Cable Service Interface Specification) operations. It is designed to support high availability (SUPHA, LCHA) and line card power redundancy (LCPR) mechanisms. Specific use cases in the requested example format are not provided in the document.

Configure Kafka Telemetry for MIB Tables

To enable Kafka telemetry messages, use the following commands from the CMTS configuration mode:

  1. Enable Telemetry.

    router# cable telemetry enable
    
  2. Enable Periodical Timer: Configure a periodic timer for data transmission. You can use a custom name and interval (10-1440 minutes), or use a default timer.

    router# cable cable telemetry periodic-timer <Periodic timer name> interval <10-1440>
  3. Enable Messages: Enable specific messages (for example, cm-reg-status, cm-stats) to be streamed using the defined periodic timer.

    router(config)#cable telemetry message cm-reg-status periodic-timer <Periodic timer name>
    router(config)#cable telemetry message cm-stats periodic-timer <Periodic timer name>
    
  4. Enable Broker: Configure the Kafka broker, specifying the bootstrap servers and the messages to be sent.

    router(config)#cable telemetry broker <broker name >
    #bootstrap-servers <string in the format host1:port1,host2:port2,...>
    #message cm-reg-status
    #message cm-stats

Verify Kafka Telemetry for MIB Tables

You can verify the configuration and status of Kafka telemetry using the following show commands:

  • Display Kafka configuration, including remote broker, supported messages, enabled messages, and configured periodical timers.

    router# show platform software kman <R0/R1/RP> config
    
  • Display Kafka database configuration.

    router# show platform software kman <R0/R1/RP> database config_tbl
    
  • Display Kafka listener message statistics.

    router# show platform software kman <R0/R1/RP> stats telemetry
    
  • Display cable kman configuration.

    router# show cable kman config
  • Display Kafka messages enable/disable status and their mapping relationship with topic names and GPB message names.

    router# show platform software kman <R0/R1/RP> kafka messages
    

    Example:

    
    router#platform software kman r0 kafka messages 
    Load for five secs: 42%/24%; one minute: 33%; five minutes: 33%
    Time source is NTP, 10:52:09.045 CST Fri Apr 18 2025
    
    GPB Package : cisco.cbr
         Syntax : proto3
    
      Message             Status     Topic Name                    GPB Message
      ----------------------------------------------------------------------------
      us-rxmer            disabled   cisco.cbr.cm.us.ofdma.rxmer   CmUsOfdmaRxMer
      ofdma-status        disabled   cisco.cbr.us.ofdma.status     UsOfdmaStatus
      ds-ctrlr-status     disabled   cisco.cbr.ds.ctrlr.status     DsCtrlrStatus
      cm-partial-service  disabled   cisco.cbr.cm.partial.service  CmPartialService
      cm-reg-status       enabled    cisco.cbr.cm.reg.status       CmRegStatus
      cm-stats            enabled    cisco.cbr.cm.stats            CmStats
      usdynpwr-event      disabled   cisco.cbr.cm.event.us.dynpwr  CmTcsChg
  • Display Kafka publish messages statistics.

    router# show platform software kman <R0/R1/RP> kafka stats

    Example:

    
    router#show platform software kman r0 kafka stats 
    Load for five secs: 20%/3%; one minute: 29%; five minutes: 31%
    Time source is NTP, 11:00:17.826 CST Fri Apr 18 2025
    Broker: 135
    State: UP
    
    Tx Packets : 7
    Tx Bytes   : 37329
    Rx Packets : 7
    Rx Bytes   : 1057
    Cur Outq Len : 26
    Max Outq Len : 26
    
         Topic Name                Prod Msg     Prod bytes     Tx Msgs     Tx Msg bytes    Err Msgs
      ------------------------------  --------------------  --------------------  -------------------- 
      cisco.cbr.cm.reg.status        20         19398          13          12908            0
      cisco.cbr.cm.stats             22         36762          13          22815            0
    
  • Display cable telemetry periodic-timer information:

    router# show platform software kman r0 kafka messages
    Load for five secs: 42%/24%; one minute: 33%; five minutes: 33%
    Time source is NTP, 10:52:09.045 CST Fri Apr 18 2025
    
    GPB Package : cisco.cbr
         Syntax : proto3
    
      Message             Status     Topic Name                    GPB Message
      ----------------------------------------------------------------------------
      us-rxmer            disabled   cisco.cbr.cm.us.ofdma.rxmer   CmUsOfdmaRxMer
      ofdma-status        disabled   cisco.cbr.us.ofdma.status     UsOfdmaStatus
      ds-ctrlr-status     disabled   cisco.cbr.ds.ctrlr.status     DsCtrlrStatus
      cm-partial-service  disabled   cisco.cbr.cm.partial.service  CmPartialService
      cm-reg-status       enabled    cisco.cbr.cm.reg.status       CmRegStatus
      cm-stats            enabled    cisco.cbr.cm.stats            CmStats
      usdynpwr-event      disabled   cisco.cbr.cm.event.us.dynpwr  CmTcsChg

Kafka Migration MIB

Table 9. Feature History

Feature Name

Release Information

Feature Description

Kafka Migration MIB

Cisco IOS XE 17.18.1y

To reduce IOSd overhead, selected MIB/OID values are transitioned from SNMP processing to the existing Kafka‑based telemetry pipeline, where they can be represented as Kafka based messages: OFDMA Status, US SCQAM Status, DS SCQAM Status, DS OFDM Status, US Ctrlr Stats, DS Ctrlr Stats.

This feature enables the migration of specific MIB/OID entries to Kafka telemetry. By utilizing a dedicated process on the SUP (Supervisor) to handle Kafka Event Streaming, the system reduces SUP IOSd CPU usage and SNMP MIB processing. This feature converts MIB/OID entry values into new Kafka topics and protobuf (GPB) messages for streaming telemetry.

Information About Kafka Migration MIB

The Kafka Telemetry Migration feature allows the cBR-8 to publish channel status and statistics data to a Kafka Broker. It supports both event-based reporting (triggered by configuration changes) and periodic reporting. The system uses Google Protocol Buffers (GPB) to format the data, which is then published to specific Kafka topics. This mechanism ensures that critical channel information—such as frequency, width, modulation, and utilization statistics for Upstream (US) and Downstream (DS) channels—is efficiently streamed for external consumption.

In release before 17.18.1y a dedicated process already exists on the SUP for Kafka Event Streaming. However, many SNMP MIB/OID entries still depend on IOSd‑based SNMP processing. This continued dependency on IOSd for MIB processing increases CPU load on the SUP. To reduce IOSd overhead, selected MIB/OID values are transitioned from SNMP processing to the existing Kafka‑based telemetry pipeline, where they can be represented as Kafka based messages.

Table 10. OID Supported in 17.18.1y

OID Name

MIB Entry

1.3.6.1.2.1.10.127.1.1.2.1.2 docsIfUpChannelFrequency
1.3.6.1.2.1.10.127.1.1.2.1.3 docsIfUpChannelWidth
1.3.6.1.2.1.10.127.1.1.2.1.4 docsIfUpChannelModulationProfile
1.3.6.1.2.1.10.127.1.1.2.1.18 docsIfUpChannelStatus
1.3.6.1.2.1.10.127.1.1.1.1.2 docsIfDownChannelFrequency
1.3.6.1.2.1.10.127.1.1.1.1.3 docsIfDownChannelWidth
1.3.6.1.2.1.10.127.1.1.1.1.4 docsIfDownChannelModulation
1.3.6.1.2.1.10.127.1.1.1.1.6 docsIfDownChannelPower
1.3.6.1.2.1.10.127.1.3.9.1.3 docsIfCmtsChannelUtUtilization
1.3.6.1.4.1.4491.2.1.28.1.20.1.11 docsIf31CmtsDsOfdmProfileStatsAssignedCmCt
1.3.6.1.4.1.4491.2.1.28.1.20.1.4 docsIf31CmtsDsOfdmProfileStatsOutOctets
1.3.6.1.4.1.4491.2.1.28.1.19.1.1 docsIf31CmtsDsOfdmChanChannelId
1.3.6.1.4.1.4491.2.1.28.1.19.1.2 docsIf31CmtsDsOfdmChanLowerBdryFreq
1.3.6.1.4.1.4491.2.1.28.1.19.1.3 docsIf31CmtsDsOfdmChanUpperBdryFreq
1.3.6.1.4.1.4491.2.1.28.1.19.1.20 docsIf31CmtsDsOfdmChanUtilization
1.3.6.1.4.1.4491.2.1.28.1.23.1.4 docsIf31CmtsUsOfdmaChanLowerBdryFreq
1.3.6.1.4.1.4491.2.1.28.1.23.1.5 docsIf31CmtsUsOfdmaChanUpperBdryFreq
1.3.6.1.4.1.4491.2.1.28.1.23.1.6 docsIf31CmtsUsOfdmaChanSubcarrierSpacing
1.3.6.1.4.1.4491.2.1.28.1.24.1.7 docsIf31CmtsUsOfdmaDataIucStatsInOctets
1.3.6.1.4.1.4491.2.1.28.1.24.1.9 docsIf31CmtsUsOfdmaDataIucStatsAssignedCmCt
1.3.6.1.4.1.4491.2.1.28.1.23.1.22 docsIf31CmtsUsOfdmaChanUtilization
1.3.6.1.4.1.4491.2.1.28.1.23.1.23 docsIf31CmtsUsOfdmaChanId

The MIBs are grouped into six dedicated Kafka messages. Out of six, one is existing and five are newly added Kafka messages.Four messages are channel configuration status messages and two are stats messages.

Status Messages

  • ds‑ofdm‑status (new)

  • ds‑scqam‑status (new)

  • us‑scqam‑status (new)

  • ofdma-status (existing)

Stats Messages

  • us‑ctrlr‑stats (new)

  • ds‑ctrlr‑stats (new)

The “ofdma-status” message was an event-based message. The message is now enhanced by adding periodic support as well. Thus, now it has dual support. Additionally, two new fields are added: the lower boundary frequency and the upper boundary frequency.

All four status messages support both event‑based and periodic reporting (dual support). An event is triggered whenever there is a change in the channel configuration. A periodic message is triggered whenever the configured periodic timer gets expired.

Stats messages support only periodic reporting, with no event‑triggered updates.

Benefits of Kafka Telemetry for MIB Tables

  • Reduced CPU Load: Lowers SUP IOSd CPU usage by offloading SNMP MIB processing.
  • Improved Efficiency: Replaces traditional SNMP polling with event-driven or periodic streaming telemetry.
  • Scalable Data Collection: Allows for real-time monitoring of channel configurations and performance statistics across the network.
  • Standardized Format: Uses GPB for structured, high-performance data serialization.

Configuration Overview

Each Kafka event is controlled by a “Message Enable” and “Global Telemetry Enable”. The application sources the event only if both the Message Enable and Global Telemetry Enable are configured. The following commands are executed in config mode.

  1. [no] cable telemetry enable() : Enables/Disables global telemetry
  2. [no] cable telemetry periodic-timer <Periodic timer name> interval <10-1440>: Enables/Disables periodic timer. The default periodic timer is ‘normal’.
  3. [no] cable telemetry message <message name> periodic-timer < Periodic timer name >: Enables/Disables messages. Supports for both status and stats messages.
  4. [no] cable telemetry broker <broker name >

    [no] #bootstrap-servers <string in the format host1:port1,host2:port2,...>

    [no] #message <message name>

    Enables/Disables broker. The “no” form of the above commands requires the user to enter all the configured parameters

Operational Commands

The following commands are updated to show the new Kafka messages config status/statistics.

  • show cable telemetry brokers
    CBR-DEV09-P04#show cable telemetry brokers
    Broker: kafka-broker
      Bootstrap.Servers : 1.200.90.92
    
      Message                             Status
      ------------------------------------------
      us-scqam-status                     enabled
      ds-scqam-status                     enabled
      ds-ofdm-status                      enabled
      us-ctrlr-stats                      enabled
      ds-ctrlr-stats                      enabled
      ofdma-status                        enabled
    		
    
  • show cable kman config
    router#show cable kman config 
    KMAN global settings:
        IP Address                  : 10.2.0.1
        IPv4 Source Address  : <not set>
        IPv6 Source Address  : <not set>
        Telemetry Enable     : enabled
        PNM Enable           : enabled
        CCAP-ID              : router
        Tftp Qdb Enable      : enabled
           Qdb timeout(mins) : 15
    
    KMAN Messages:
        OFDMA Status            : enabled
        US SCQAM Status         : enabled
        DS SCQAM Status         : enabled
        DS OFDM Status          : enabled
        US Ctrlr Stats          : enabled
        DS Ctrlr Stats          : enabled
    

    Messages are listed and enabled confirming successful integration.

  • show cable telemetry periodic-timer
    router#show cable telemetry periodic-timer
    Index   Name         Interval         MsgType                  Expire in (Min)
    -------------------------------------------------------------------------------
    0       normal       15               us-scqam-status                 14
                                          ds-scqam-status                 14
                                          ds-ofdm-status                  14
                                          us-ctrlr-stats                  14
                                          ds-ctrlr-stats                  14
                                          ofdma-status                    14
    1                     0 
    2                     0 
    3                     0 
    4                     0 
    5                     0 
    6                     0 
    7                     0

    Messages are a part of the periodic timer schedule with a 15 minute time interval.

  • show platform software kman R0 kafka messages
    router#show platform software kman <R0 | R1> kafka message 
    
    router#show platform software kman R0 kafka messages 
    GPB Package : cisco.cbr
         Syntax : proto3
    
    Message              Status      Topic Name                     GPB Message
    -------------------------------------------------------------------------------------------------------------------------------
    ofdma-status         enabled     cisco.cbr.us.ofdma.status      UsOfdmaStatus
    us-scqam-status      enabled     cisco.cbr.us.scqam.status      UsScqamStatus
    ds-scqam-status      enabled     cisco.cbr.ds.scqam.status      DsScqamStatus
    ds-ofdm-status       enabled     cisco.cbr.ds.ofdm.status       DsOfdmStatus
    us-ctrlr-stats       enabled     cisco.cbr.us.ctrlr.stats       UsCtrlrStats
    ds-ctrlr-stats       enabled     cisco.cbr.ds.ctrlr.stats       DsCtrlrStats
    

    Messages are enabled and mapped to the respective messaage topics.

  • show platform hardware qfp active feature docsis clc-pkt-punt
    router#show platform hardware qfp <active | standby> feature docsis clc-pkt-punt
    CHS8-RACK6#show platform  hardware qfp active feature docsis clc-pkt-punt
    Stats for CLC Packets Punted to KMAN
    PNM
        RxMER       : 0
        UTSC        : 0
        AQProbe     : 0
     
    Telemetry
        OFDMA Status    : 4
        US SCQAM Status : 115
        DS SCQAM Status : 129
        DS OFDM Status  : 367
        US Ctrlr Stats  : 564
        DS Ctrlr Stats  : 689
    

    Messages are active and show punt count confirming it is processed by KMAN.

  • show platform software kman RP active database config_tbl
    router#show platform software kman RP active database config_tbl 
    router#show platform software kman RP active database config_tbl 
    KMAN IP address        : 10.2.0.1
    IPv4 Source address    : 0.0.0.0
    IPv6 Source address    : 
    Telemetry Enable       : enabled
    PNM Enable             : enabled
    OFDMA-Status Msg       : enabled
    US-SCQAM-Status Msg    : enabled
    DS-SCQAM-Status Msg    : enabled
    DS-OFDM-Status Msg     : enabled
    DS-Ctrlr-Stats Msg     : enabled
    US-Ctrlr-Stats Msg     : enabled
    

    Messages are enabled confirming that it is part of active telemetry configuration.

Verification

Verify Kafka broker is Up/Down using the show platform software kman RP active kafka broker command.
router#show platform software kman RP active kafka broker
Broker: kafka-broker1
Bootstrap.Servers : 192.168.100.121

Broker State: UP

show cable downstream controller-profile 19

router#show cable downstream controller-profile 19          
Downstream controller-profile 19, type RPHY
Description: 
Downstream controller-profile 19 is being used by controller Downstream-Cable:
  1/0/0,  1/0/1,  1/0/2,  1/0/3,  1/0/4,  1/0/5,  
  Admin:  UP 
  MaxOfdmSpectrum: 384000000
  MaxCarrier: 128
  Mode: normal
  Free freq block list has 4 blocks:
    45000000  - 359999999
    546000000 - 546999999
    553000000 - 777999999
    970000000 - 1217999999
  DS Splitting: No 
  OFDM frequency exclusion bands: None

Configured RF Channels:
Chan Admin Frequency  Type        Annex Mod  srate Qam-profile  dcid  output
 0    UP   363000000  DOCSIS       B    256   5361  5           1     NORMAL
 1    UP   369000000  DOCSIS       B    256   5361  5           2     NORMAL
 2    UP   375000000  DOCSIS       B    256   5361  5           3     NORMAL
 3    UP   381000000  DOCSIS       B    256   5361  5           4     NORMAL
 4    UP   387000000  DOCSIS       B    256   5361  5           5     NORMAL
 5    UP   393000000  DOCSIS       B    256   5361  5           6     NORMAL
 6    UP   399000000  DOCSIS       B    256   5361  5           7     NORMAL
 7    UP   405000000  DOCSIS       B    256   5361  5           8     NORMAL
 8    UP   411000000  DOCSIS       B    256   5361  5           9     NORMAL
 9    UP   417000000  DOCSIS       B    256   5361  5           10    NORMAL
 10   UP   423000000  DOCSIS       B    256   5361  5           11    NORMAL

Chan Admin Mod-Type  Start       Width     PLC        Profile-ID    dcid  output
                     Frequency                                      
 158  UP   OFDM      0           0         0               -1       159   NORMAL
 162  UP   OFDM      778000000   192000000 870000000       32       163   NORMAL

router#show run | s cable upstream controller-profile 19
cable upstream controller-profile 19
 us-channel 0 channel-width 3200000 3200000
 us-channel 0 docsis-mode atdma
 us-channel 0 frequency 8000000
 us-channel 0 minislot-size 2
 us-channel 0 modulation-profile 221
 no us-channel 0 shutdown
 us-channel 1 channel-width 1600000 1600000
 us-channel 1 docsis-mode atdma
 us-channel 1 frequency 11300000
 us-channel 1 minislot-size 4
 us-channel 1 modulation-profile 221
 no us-channel 1 shutdown
 us-channel 2 channel-width 3200000 3200000
 us-channel 2 docsis-mode atdma
 us-channel 2 frequency 68000000
 us-channel 2 minislot-size 2
 us-channel 2 modulation-profile 221
 no us-channel 2 shutdown
 us-channel 12 docsis-mode ofdma
 us-channel 12 subcarrier-spacing 25KHz
 us-channel 12 modulation-profile 421
 us-channel 12 frequency-range 40000000 85000000
 us-channel 12 cyclic-prefix 96 roll-off-period 64
 us-channel 12 symbols-per-frame 9

router#show run | s cable upstream controller-profile 19
cable upstream controller-profile 19
 us-channel 0 channel-width 3200000 3200000
 us-channel 0 docsis-mode atdma
 us-channel 0 frequency 8000000
 us-channel 0 minislot-size 2
 us-channel 0 modulation-profile 221
 no us-channel 0 shutdown
 us-channel 3 channel-width 1600000 1600000
 us-channel 3 docsis-mode atdma
 us-channel 3 frequency 61000000
 us-channel 3 minislot-size 4
 us-channel 3 modulation-profile 244
 no us-channel 3 shutdown
us-channel 7 channel-width 1600000 1600000
 us-channel 7 docsis-mode atdma
 us-channel 7 minislot-size 4
 us-channel 7 modulation-profile 244
 no us-channel 7 shutdown
 us-channel 12 docsis-mode ofdma
 us-channel 12 subcarrier-spacing 25KHz
 us-channel 12 modulation-profile 421
 us-channel 12 frequency-range 40000000 85000000
 us-channel 12 cyclic-prefix 96 roll-off-period 64
 us-channel 12 symbols-per-frame 9

router#show snmp mib ifmib ifindex | i Cable9/0/0
Cable9/0/0: Ifindex = 1337
Wideband-Cable9/0/0:0: Ifindex = 116457
Wideband-Cable9/0/0:1: Ifindex = 116458
Downstream-Cable9/0/0:0: Ifindex = 116713
Downstream-Cable9/0/0:1: Ifindex = 116714
Downstream-Cable9/0/0:2: Ifindex = 116715
Downstream-Cable9/0/0:3: Ifindex = 116716
Downstream-Cable9/0/0-downstream0: Ifindex = 321320
Downstream-Cable9/0/0-downstream1: Ifindex = 321321
Downstream-Cable9/0/0-downstream2: Ifindex = 321322
Downstream-Cable9/0/0-downstream3: Ifindex = 321323
Downstream-Cable9/0/0-downstream158: Ifindex = 321478
Cable9/0/0-upstream0: Ifindex = 501864
Cable9/0/0-upstream1: Ifindex = 501865
Cable9/0/0-upstream2: Ifindex = 501866
Cable9/0/0-upstream3: Ifindex = 501867
Cable9/0/0-upstream4: Ifindex = 501868
Cable9/0/0-upstream5: Ifindex = 501869
Cable9/0/0-upstream6: Ifindex = 501870
Cable9/0/0-upstream7: Ifindex = 501871
Cable9/0/0-upstream8: Ifindex = 501872
Cable9/0/0-upstream9: Ifindex = 501873
Cable9/0/0-upstream10: Ifindex = 501874
Cable9/0/0-upstream11: Ifindex = 501875
Cable9/0/0-upstream12: Ifindex = 501876
Cable9/0/0-upstream13: Ifindex = 501877
Cable9/0/0-upstream14: Ifindex = 501878
Cable9/0/0-upstream15: Ifindex = 501879

SNMP MIBs for Verification

ds-ofdm:
snmpwalk -v2c -c private 2.39.1.1 1.3.6.1.4.1.4491.2.1.28.1.19.1.1
snmpwalk -v2c -c private 2.39.1.1 1.3.6.1.4.1.4491.2.1.28.1.19.1.2
snmpwalk -v2c -c private 2.39.1.1 1.3.6.1.4.1.4491.2.1.28.1.19.1.3


ds-scqam: 
snmpwalk -v2c -c private 2.39.1.1 1.3.6.1.2.1.10.127.1.1.1.1.2
snmpwalk -v2c -c private 2.39.1.1 1.3.6.1.2.1.10.127.1.1.1.1.3
snmpwalk -v2c -c private 2.39.1.1 1.3.6.1.2.1.10.127.1.1.1.1.4
snmpwalk -v2c -c private 2.39.1.1 1.3.6.1.2.1.10.127.1.1.1.1.6


ds-ctrlr-stats :
snmpwalk -v2c -c private 2.39.1.1 1.3.6.1.2.1.10.127.1.3.9.1.3
snmpwalk -v2c -c private 2.39.1.1 1.3.6.1.4.1.4491.2.1.28.1.20.1.11
snmpwalk -v2c -c private 2.39.1.1 1.3.6.1.4.1.4491.2.1.28.1.20.1.4
snmpwalk -v2c -c private 2.39.1.1 1.3.6.1.4.1.4491.2.1.28.1.19.1.20

ofdma-status :
snmpwalk -v2c -c private 2.39.1.1 1.3.6.1.4.1.4491.2.1.28.1.23.1.4
snmpwalk -v2c -c private 2.39.1.1 1.3.6.1.4.1.4491.2.1.28.1.23.1.5

us-ctrlr-stats :
snmpwalk -v2c -c private 2.39.1.1 1.3.6.1.2.1.10.127.1.3.9.1.3
snmpwalk -v2c -c private 2.39.1.1 1.3.6.1.4.1.4491.2.1.28.1.24.1.7
snmpwalk -v2c -c private 2.39.1.1 1.3.6.1.4.1.4491.2.1.28.1.24.1.9
snmpwalk -v2c -c private 2.39.1.1 1.3.6.1.4.1.4491.2.1.28.1.23.1.22
snmpwalk -v2c -c private 2.39.1.1 1.3.6.1.4.1.4491.2.1.28.1.23.1.23

us-scqam :
snmpwalk -v2c -c private 2.39.1.1 1.3.6.1.2.1.10.127.1.1.2.1.2
snmpwalk -v2c -c private 2.39.1.1 1.3.6.1.2.1.10.127.1.1.2.1.3
snmpwalk -v2c -c private 2.39.1.1 1.3.6.1.2.1.10.127.1.1.2.1.4
snmpwalk -v2c -c private 2.39.1.1 1.3.6.1.2.1.10.127.1.1.2.1.18

ofdma-status Output

2025-10-06 10:28:09,675 - __main__ - INFO - Received message from topic: cisco.cbr.us.ofdma.status
2025-10-06 10:28:09,676 - __main__ - INFO - Message headers: [('ccap_id', b'CBR-DEV05-P12'), ('if_index', b'492656'), ('us_channel', b'12')]
2025-10-06 10:28:09,676 - __main__ - INFO - Message timestamp: 2025-10-06 10:20:04.943
2025-10-06 10:28:09,676 - __main__ - INFO - Message key: None
2025-10-06 10:28:09,677 - __main__ - INFO - Parsed message: us_ofdma_status:
 major_ver: 1
 minor_ver: 1
 reporting_time: 1759746004
 if_index: 492656
 ccap_id: CBR-DEV05-P12
 slot: 3
 ctrlr: 0
 us_channel: 12
 mac_domain: 0
 ucid: 9
 ofdma_state: 3
 lcha_status: 1
 sc_spacing: 1
 sc_0_center_freq_hz: 46800000
sc_exclusion_bands:
  sc_start: 1508
  sc_end: 4095
 sc_unused_bands: []
 current_iuc_burst_profiles:
  iuc: 10
  minislot_groups:
   sc_start: 148
   minislot_start: 0
   modulation_bitload: 9
   pilot_pattern: 8
   consecutive_minislots: 85
current_iuc_burst_profiles:
  iuc: 13
  minislot_groups:
   sc_start: 148
   minislot_start: 0
   modulation_bitload: 6
   pilot_pattern: 8
   consecutive_minislots: 85
 lower_freq_hz: 50500000
 upper_freq_hz: 84500000

US-SCQAM Output

2026-02-03 11:12:26,547 - __main__ - INFO - Received message from topic: cisco.cbr.us.scqam.status
2026-02-03 11:12:26,547 - __main__ - INFO - Message headers: [('ccap_id', b'CBR-DEV15-O11')]
2026-02-03 11:12:26,547 - __main__ - INFO - Message timestamp: 2026-02-03 11:07:11.484
2026-02-03 11:12:26,548 - __main__ - INFO - Message key: None
2026-02-03 11:12:26,548 - __main__ - INFO - Parsed message: us_scqam_status:
 version: 1
 epoch_timestamp: 1770116831
 slot: 2
 ctrlr: 0
 us_channel: 1
 mac_domain: 0
 ucid: 2
 us_if_index: 490345
 lcha_status: 1
 us_scqam_state: 3
 us_scqam_config:
  center_freq_hz: 11200000
  width_hz: 1600000
  mod_profile: 244

DS-OFDM Output

2026-02-03 11:26:10,648 - __main__ - INFO - Received message from topic: cisco.cbr.ds.ofdm.status
2026-02-03 11:26:10,648 - __main__ - INFO - Message headers: [('ccap_id', b'CBR-DEV15-O11')]
2026-02-03 11:26:10,648 - __main__ - INFO - Message timestamp: 2026-02-03 11:20:55.598
2026-02-03 11:26:10,648 - __main__ - INFO - Message key: None
2026-02-03 11:26:10,649 - __main__ - INFO - Parsed message: ds_ofdm_status:
 version: 1
 epoch_timestamp: 1770117655
 slot: 2
 ctrlr: 0
 rf_channel: 158
 dcid: 159
 ds_if_index: 280518
 lcha_status: 1
 ds_ofdm_state: 1
 ds_ofdm_cfg:
  start_freq_hz: 790000000
  width_hz: 96000000
  plc_freq_hz: 795000000
  upper_freq_hz: 885999999

DS-SCQAM Output

2026-02-03 11:14:21,676 - __main__ - INFO - Received message from topic: cisco.cbr.ds.scqam.status
2026-02-03 11:14:21,676 - __main__ - INFO - Message headers: [('ccap_id', b'CBR-DEV15-O11')]
2026-02-03 11:14:21,676 - __main__ - INFO - Message timestamp: 2026-02-03 11:09:06.614
2026-02-03 11:14:21,677 - __main__ - INFO - Message key: None
2026-02-03 11:14:21,677 - __main__ - INFO - Parsed message: ds_scqam_status:
 version: 1
 epoch_timestamp: 1770116946
 slot: 2
 ctrlr: 0
 rf_channel: 0
 dcid: 1
 ds_if_index: 280360
 lcha_status: 1
 ds_scqam_state: 3
 ds_scqam_config:
  center_freq_hz: 225000000
  width_hz: 6000000
  modulation: 4
  power_adjust_tenth_dbmv: 330

us-ctrlr-stats Output

2026-02-03 11:14:21,676 - __main__ - INFO - Received message from topic: cisco.cbr.ds.scqam.status
2026-02-03 11:14:21,676 - __main__ - INFO - Message headers: [('ccap_id', b'CBR-DEV15-O11')]
2026-02-03 11:14:21,676 - __main__ - INFO - Message timestamp: 2026-02-03 11:09:06.614
2026-02-03 11:14:21,677 - __main__ - INFO - Message key: None
2026-02-03 11:14:21,677 - __main__ - INFO - Parsed message: ds_scqam_status:
 version: 1
 epoch_timestamp: 1770116946
 slot: 2
 ctrlr: 0
 rf_channel: 0
 dcid: 1
 ds_if_index: 280360
 lcha_status: 1
 ds_scqam_state: 3
 ds_scqam_config:
  center_freq_hz: 225000000
  width_hz: 6000000
  modulation: 4
  power_adjust_tenth_dbmv: 330
ofdma_stats:
   iuc_stats: []
 chan_stats:
  us_channel: 1
  mac_domain: 0
  ucid: 2
  us_if_index: 490345
  us_chan_type: 2
  in_octets: 5539868195
  chan_util_pct_100th: 9100
  ofdma_stats:
   iuc_stats: []
 chan_stats:
  us_channel: 2
  mac_domain: 0
  ucid: 3
  us_if_index: 490346
  us_chan_type: 2
  in_octets: 5669726751
  chan_util_pct_100th: 9400
    ofdma_stats:
   iuc_stats: []
 chan_stats:
  us_channel: 3
  mac_domain: 0
  ucid: 4
  us_if_index: 490347
  us_chan_type: 2
  in_octets: 11614050667
  chan_util_pct_100th: 9500
  ofdma_stats:
   iuc_stats: []
chan_stats:
  us_channel: 12
  mac_domain: 1
  ucid: 3
  us_if_index: 490394
  us_chan_type: 4
  in_octets: 0
  chan_util_pct_100th: 9700
  ofdma_stats:
   iuc_stats:
    iuc: 5
    assigned_cm_ct: 0
    in_octets: 0
iuc_stats:
    iuc: 6
    assigned_cm_ct: 0
    in_octets: 0
   iuc_stats:
    iuc: 9
    assigned_cm_ct: 0
    in_octets: 0
   iuc_stats:
    iuc: 10
    assigned_cm_ct: 7
    in_octets: 42193644888
   iuc_stats:
    iuc: 11
    assigned_cm_ct: 0
    in_octets: 0
   iuc_stats:
    iuc: 12
    assigned_cm_ct: 0
    in_octets: 0
   iuc_stats:
    iuc: 13
    assigned_cm_ct: 8
    in_octets: 1047347230

ds-ctrlr-stats Output

  chan_stats:
  rf_channel: 1
  dcid: 2
  ds_if_index: 280617
  ds_chan_type: 1
  out_octets: 3166201215
  chan_util_pct_100th: 800
  ofdm_stats:
   chan_prof: []
 chan_stats:
  rf_channel: 2
  dcid: 3
  ds_if_index: 280618
  ds_chan_type: 1
  out_octets: 3166203500
  chan_util_pct_100th: 800
  ofdm_stats:
   chan_prof: []
chan_stats:
  rf_channel: 3
  dcid: 4
  ds_if_index: 280619
  ds_chan_type: 1
  out_octets: 3166206538
  chan_util_pct_100th: 800
  ofdm_stats:
   chan_prof: []
 chan_stats:
  rf_channel: 4
  dcid: 5
  ds_if_index: 280620
  ds_chan_type: 1
  out_octets: 3166208287
  chan_util_pct_100th: 800
  ofdm_stats:
chan_prof: []
 chan_stats:
  rf_channel: 5
  dcid: 6
  ds_if_index: 280621
  ds_chan_type: 1
  out_octets: 3166198204
  chan_util_pct_100th: 800
  ofdm_stats:
   chan_prof: []
 chan_stats:
  rf_channel: 6
  dcid: 7
  ds_if_index: 280622
  ds_chan_type: 1
  out_octets: 3166194112
  chan_util_pct_100th: 800
  ofdm_stats:
   chan_prof: []
chan_stats:
  rf_channel: 7
  dcid: 8
  ds_if_index: 280623
  ds_chan_type: 1
  out_octets: 3166197415
  chan_util_pct_100th: 800
  ofdm_stats:
   chan_prof: []
 chan_stats:
  rf_channel: 8
  dcid: 9
  ds_if_index: 280624
  ds_chan_type: 1
  out_octets: 3250208429
  chan_util_pct_100th: 800
  ofdm_stats:
   chan_prof: []
chan_stats:
  rf_channel: 9
  dcid: 10
  ds_if_index: 280625
  ds_chan_type: 1
  out_octets: 3250212404
  chan_util_pct_100th: 800
  ofdm_stats:
   chan_prof: []
 chan_stats:
  rf_channel: 10
  dcid: 11
  ds_if_index: 280626
  ds_chan_type: 1
  out_octets: 3250200522
  chan_util_pct_100th: 800
  ofdm_stats:
 chan_prof: []
 chan_stats:
  rf_channel: 11
  dcid: 12
  ds_if_index: 280627
  ds_chan_type: 1
  out_octets: 3250196482
  chan_util_pct_100th: 800
  ofdm_stats:
   chan_prof: []
chan_stats:
  rf_channel: 12
  dcid: 13
  ds_if_index: 280628
  ds_chan_type: 1
  out_octets: 3250251972
  chan_util_pct_100th: 800
  ofdm_stats:
   chan_prof: []
 chan_stats:
  rf_channel: 13
  dcid: 14
  ds_if_index: 280629
  ds_chan_type: 1
  out_octets: 3250199644
  chan_util_pct_100th: 800
ofdm_stats:
   chan_prof: []
 chan_stats:
  rf_channel: 14
  dcid: 15
  ds_if_index: 280630
  ds_chan_type: 1
  out_octets: 3250240859
  chan_util_pct_100th: 800
  ofdm_stats:
   chan_prof: []
 chan_stats:
  rf_channel: 15
  dcid: 16
  ds_if_index: 280631
  ds_chan_type: 1
  out_octets: 3250203750
  chan_util_pct_100th: 800
  ofdm_stats:
   chan_prof: []
chan_stats:
  rf_channel: 16
  dcid: 17
  ds_if_index: 280632
  ds_chan_type: 1
  out_octets: 2695383132
  chan_util_pct_100th: 800
  ofdm_stats:
   chan_prof: []
 chan_stats:
  rf_channel: 17
  dcid: 18
  ds_if_index: 280633
  ds_chan_type: 1
  out_octets: 2695379776
  chan_util_pct_100th: 800
  ofdm_stats:
   chan_prof: []
chan_stats:
  rf_channel: 158
  dcid: 159
  ds_if_index: 280774
  ds_chan_type: 3
  out_octets: 349338837896
  chan_util_pct_100th: 9700
  ofdm_stats:
   chan_prof:
    prof_id: 0
    assigned_cm_ct: 0
    out_octets: 15974636
    util_pct_100th: 0
   chan_prof:
    prof_id: 1
    assigned_cm_ct: 0
    out_octets: 0
    util_pct_100th: 0
chan_prof:
    prof_id: 2
    assigned_cm_ct: 9
    out_octets: 349297044235
    util_pct_100th: 9700
   chan_prof:
    prof_id: 3
    assigned_cm_ct: 0
    out_octets: 0
    util_pct_100th: 0

Upstream Dynamic Power Ceiling Monitoring

Table 11. Feature History

Feature Name

Release Information

Feature Description

Upstream Dynamic Power Ceiling Monitoring

Cisco IOS XE Dublin 17.15.1z

Modems with limited transmit power ceiling are assigned a single upstream OFDMA channel as their upstream bounding group. These modems continue to be close to their maximum transmit power with a single OFDMA and experience upstream data error issues. The preference is for these modems to drop its bonding group to a group of ATDMA channels instead of a single OFDMA channel. After a modem comes online, the CMTS software will continue monitoring the modem transmit power and perform upstream bonding group (UBG) adjustment if the modem transmit power moves higher. If the modem’s transmit power moves lower, the CMTS moves the modem to use higher frequency width UBG

Kafka support for channel set of a modem to be continually reassessed over time

Cisco IOS XE Dublin 17.15.1z

System level notifications for power monitoring downgrade and upgrade have been added for Kafka telemetry using cm.event.us.dynpwr.

This feature, Upstream Dynamic Power Ceiling Monitoring, enables Cisco cable systems to automatically monitor and adjust the transmit (TX) power of cable modems in real time. The system dynamically reassigns modems to suitable upstream channel groups (bounding groups) to ensure that the modem transmit power remains within configured ceilings, thereby maintaining signal quality and network reliability.

The feature works by:

  • Continuously monitoring the TX power of cable modems after they come online.

  • Automatically moving modems to smaller (narrower) or larger (wider) channel width bounding groups based on their transmit power levels.

  • Notifying users when a modem is reassigned to a different bounding group due to power ceiling violations or when the modem can be upgraded back.

  • Providing configuration controls and operational visibility through CLI, syslog, SNMP, and Kafka telemetry notifications.

Information About Upstream Dynamic Power Ceiling Monitoring

Dynamic Upstream Channel Power Ceiling Monitoring is a software-driven mechanism that supervises the transmit (TX) power levels of DOCSIS 3.1 cable modems. When a modem's TX power exceeds configurable thresholds on one or more upstream channels, the feature automatically moves the modem to a narrower bounding group (BG) with a lower frequency range, reducing the required TX power. Later, if conditions allow, the modem can be upgraded back to its full bounding group

The system is configurable, allowing operators to:

  • Enable or disable the feature.

  • Set reassessment and recovery intervals.

  • Choose notification methods (syslog, SNMP, telemetry).

  • View and clear dynamic power ceiling data for modems.

This feature applies only to DOCSIS 3.1 (D3.1) cable modems.

Prerequisites for Upstream Dynamic Power Ceiling Monitoring

  • Modems must support periodic statistics reporting.

  • The system must support DBC (Dynamic Bounding Change) operations.

Restrictions for Upstream Dynamic Power Ceiling Monitoring

  • Only applies to DOCSIS 3.1 (D3.1) modems. Not applicable to DOCSIS 3.0 (D3.0) or lower

    .
  • The default and allowed intervals for reassessment and recovery are limited as specified in the configuration overview.

  • The feature only manages channel assignments based on TX power, not other modem parameters.

Benefits of Upstream Dynamic Power Ceiling Monitoring

Excessive upstream transmit power can degrade network performance and modem reliability. This feature optimizes channel assignments automatically, ensuring that all modems operate within safe power limits and maximizing network efficiency without manual intervention.

  • Automatic Protection: Keeps modem transmit power within safe limits without manual intervention.

  • Improved Reliability: Reduces risk of degraded performance or modem failure due to excessive TX power.

  • Operational Visibility: Provides clear CLI commands and notification options (syslog, SNMP, Kafka) for monitoring and auditing events.

  • Flexible Configuration: Allows operators to tailor intervals and notifications to operational needs.

  • Targeted Application: Applies changes only to D3.1 modems, ensuring compatibility.

Supported Scenarios

  • Automatically protecting cable modems from exceeding safe upstream transmit power.

  • Managing large deployments of DOCSIS 3.1 modems to ensure network stability.

  • Providing operations teams with real-time alerts and reporting for channel power ceiling events.

  • Suitable for networks where modems may move between channel groups based on varying upstream conditions.

Upstream dynamic power ceiling show cable modem and event notifications

User can use show cable modem with “us-dyn-pwr-reassessed” keyword to find affected modems.

There are three ways system notifies upstream dynamic power ceiling changed BG:

  • Syslog

  • SNMP Notification

  • Kafka telemetry notification

Configure Upstream Dynamic Power Ceiling Monitoring

Enable or Disable the Feature:

  • Enable:

    cable upstream dynamic-power-ceil-monitor enable

  • Disable:

    no cable upstream dynamic-power-ceil-monitor enable

Set Reassessment and Recovery Intervals:

  • Set upgrade check interval (default 40 min):

    cable upstream dynamic-power-ceil-monitor reassess-interval <20-1440>

  • Set recovery interval (default 2 days):

    cable upstream dynamic-power-ceil-monitor recover-interval <1-7>

Enable/Disable Syslog or SNMP Notification:

  • Enable/disable syslog:

    [no] cable upstream dynamic-power-ceil-monitor syslog

  • Enable/disable SNMP notification:

    [no] cable upstream dynamic-power-ceil-monitor snmp-notify

Enable Telemetry Notification:

  • Enable cable telemetry messages for upstream dynamic power ceiling feature:

    [no] cable telemetry message usdynpwr-event

  • Enable generating cable telemetry messages under a broker for upstream dynamic power ceiling.

    [no] message usdynpwr-event

Clear Cached Data:

  • Clear all cached data:

    clear cable modem us-dyn-pwr-ceil-cached-data

  • Clear for a specific modem (by MAC or IP):

    clear cable modem <MAC|IP> us-dyn-pwr-ceil-cached-data

Verify Upstream Dynamic Power Ceiling Monitoring

To find the modems, which upstream power ceiling reassessed use the keyword “us-dyn-pwr-reassessed”

You can verify the configuration and status of Kafka telemetry using the following show commands:

Show Reassessed Modems:

  • All reassessed modems: Show all the modems, which reassessed and changed BG by upstream dynamic power ceiling feature.

    show cable modem us-dyn-pwr-reassessed

  • By cable interface: Show all the modems, which reassessed and changed BG by upstream dynamic power ceiling feature in a cable interface

    show cable modem cable<slot>/0<md> us-dyn-pwr-reassessed

  • By IP: Show a single modem with modem ip address, reassessed and changed BG by upstream dynamic power ceiling feature info.

    show cable modem <IP> us-dyn-pwr-reassessed

  • By IP: Show a single modem with modem ip address, reassessed and changed BG by upstream dynamic power ceiling feature detail info.

    show cable modem <IP> us-dyn-pwr-reassessed detail

  • By MAC: Show a single modem with modem MAC address, reassessed and changed BG by upstream dynamic power ceiling feature info.

    show cable modem <MAC> us-dyn-pwr-reassessed

  • Detailed info: Show a single modem with modem MAC address, reassessed and changed BG by upstream dynamic power ceiling feature detail info.

    show cable modem <IP|MAC> us-dyn-pwr-reassessed detail

Show Cable Modem:

router8#show cable modem 9058.515c.9df4 us-dyn-pwr-reassessed
MAC Address    I/F            MAC               curr   full   Trig   Reassess  Reassess         Next
                              State             tcs    tcs    chan   power     Time             Reassess
9058.515c.9df4 C8/0/0/UB      w-online(pt)      0x0080 0x00CF 1      43.75dBmV 2:08:03 ago      0:12:39 
  • curr tcs – the current BG TCS in bitmap, the numbers are us channels in mac-domain, 0 based.

  • full tcs – the bounding group TCS, if upstream dynamic power ceiling did not reassess and change the BG.

  • Trig chan – the channel, which triggered the downgrade. The number is the us channel in mac-domain, 0 based.

  • Reassess power – the power level triggered the downgrade.

  • Reassess Time – when the reassess happened.

  • Next Reassess – Next upgrade check time.

Show Cable Modem detail: This command displays the usch cached power values, P1.6hi and Neq (1.6mhz) of the current BG, current modem upstream channel TX power (similar to scm phy), upstream dynamic power ceiling related configurations, if DBC current in progress, and next recovery time.

Example Output:

router#show cable modem 9058.515c.9df4 us-dyn-pwr-reassessed detail
MAC Address    I/F            MAC               curr   full   Trig   Reassess  Reassess         Next
                              State             tcs    tcs    chan   power     Time             Reassess
9058.515c.9df4 C8/0/0/UB      w-online(pt)      0x0080 0x00CF 1      43.75dBmV 2:25:36 ago      0:15:06 

Power ceiling cached values in dBmV:
  ch0   ch1   ch2   ch3   ch4   ch5   ch6   ch7   ch8   ch9   ch10  ch11  ch12  ch13  ch14  ch15
  40.75 43.75 47.75 41.25 00.00 00.00 40.00 37.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 00.00 

Modem full tcs: 0x00CF, curent tcs: 0x0080

P1.6hi:47.30dBmV, Neq:59

CM upstream channels:
ch07 pwr:37.25 adj:-0.50 sta, 

Monitor is Enabled, Reass_intvl: 20min, Recover_intvl: 1440min, syslog_enable: 1, snmp_notif: 1,
Cable interface max-channel-power-offset: 0dBmV
DBC is Not in progress
Next recover time in 1294min

Show Dynamic Event Timeline:: Use the show cable modem <MAC> timeline dynamic command to display the dynamic power ceiling change history.

router#show cable modem 9058.515c.9f58 timeline dynamic
cable modem dynamic event timeline in clc :
TIMESTAMP               OLD STATE    EVENT                    NEW STATE    
Mar 14 19:08:37.729     w-online(pt) us dyn pwr monitor       w-online(pt)  UpG TCS from 0x0080 to 0x00CF 
Mar 14 19:08:26.534     w-online(pt) ranging request          w-online(pt)  o-init-rng-req: us 7          
Mar 14 19:08:04.514     w-online(pt) us dyn pwr monitor       w-online(pt)  DnG TCS from 0x00CF to 0x0080 

Monitor Upstream Dynamic Power Ceiling

You can monitor dynamic power ceiling events using:

  • Show Command: show cable modem 9058.515c.9df4 us-dyn-pwr-reassessed detail

  • Syslog notifications for BG (bounding group) changes.

  • SNMP traps for downgrade/upgrade events.

  • Kafka Telemetry for real-time event streaming.

Kafka Example Output:

Copy Code
Message on cisco.cbr.cm.event.us.dynpwr parition [0] at offset 99:
  UTC Timestamp: 2025-02-05 18:29:00.030000
  Headers: ccap_id="tb5-cbr8"
  operation        : Downgrade
  old_tcc          : 0x00cf
  new_tcc          : 0x0080

Note:

Monitoring and notification setup require corresponding system components (syslog server, SNMP manager, Kafka broker).

SYSLOG Format

CLC 8/0: Mar
        14 16:29:59.595 EDT: %CBR-6-US_DYN_PWR: Upstream Dynamic Power Ceil Monitor Cable8/0/0 CM:
        9058.515c.9df4 Downgrade to TCS 0x0080
CLC 8/0: Mar
        14 19:08:46.076 EDT: %CBR-6-US_DYN_PWR: Upstream Dynamic Power Ceil Monitor Cable8/0/0 CM:
        9058.515c.9df4 Upgrade to TCS 0x00CF

SNMP Notification

Received SNMPv2c Trap:
Community: public
From: 8.5.1.1
sysUpTimeInstance = 00:09:52.60
snmpTrapOID.0 = ciscoDocsExtNotifications.11
ifIndex.1290 = 1290
docsIfCmtsCmStatusMacAddress.1290 = 90 58 51 5c 9d f0 
ciscoDocsExtMIBObjects.13.1.1290 = 1
ciscoDocsExtMIBObjects.13.2.1290 = 192

Kafka Telemetry Notification

Topic Name - cisco.cbr.cm.event.us.dynpwr

enum UpDynPwrOperation {
    UP_DYN_PWR_MONITOR_OPERATE_DOWNGRADE = 0;
    UP_DYN_PWR_MONITOR_OPERATE_UPGRADE = 1;
}

message CmTcsChg {
  uint32 version              = 1;
  string ccap_id              = 2;
  uint32 slot                 = 3;
  uint32 md_index             = 4;
  uint32 md_if_index          = 5;
  bytes  cm_mac_addr          = 6;
  UpDynPwrOperation operation = 7;
  uint32 old_tcc              = 8;
  uint32 new_tcc              = 9;
}

tb5-cbr8#show platform software kman r0 kafka stats

Broker: broker-cluster
State: UP
... 
Topic Name                     Prod Msg              Prod bytes            Tx Msgs
-----------------------------  --------------------  --------------------  --------------------
cisco.cbr.cm.event.us.dynpwr   0                     0                     0

OFDMA CWERR Downgrade Kafka Message

The OFDMA CWERR-Downgrade Kafka Message feature provides service providers with critical visibility into codeword error (CWERR) occurrences that lead to the downgrading of Upstream OFDMA channels on DOCSIS 3.1 modems. This telemetry message periodically reports statistics related to these downgrades, enabling proactive identification and resolution of network issues.

What it is:

This feature introduces a new Kafka Telemetry message, named "OFDMA-CWERR-Downgrade," which reports statistics when an OFDMA channel is downgraded due to excessive codeword errors. The message includes data such as IUC downgrade counts, partial-service counts, current IUC (Initial Unicast Channel), and RxMER (Receive Modulation Error Ratio) send/receive counts.

How it works:

The DOCSIS 3.1 OFDMA channel Profile Management component on the CBR-8 selects the optimal Data-IUC for an Upstream OFDMA channel using Rx MER probes. If a modem experiences too many codeword errors while operating on a selected Data-IUC, the OFDMA channel can be downgraded to a lower Data-IUC. Once downgraded, it cannot be upgraded until the next RxMER probe interval. This feature captures these downgrade events and sends them as a Kafka message.

Why it is important:

Service providers need to understand and monitor these OFDMA CWERR-Downgrade occurrences. This information is crucial for identifying customer sites that are experiencing Common Path Distortion (CPD) or other interference issues. By having this visibility, technicians can be dispatched to correct these problems, improving network performance and customer experience.

Information About OFDMA CWERR Downgrade Kafka Message

Table 12. Feature History

Feature Name

Release Information

Feature Description

OFDMA CWERR Downgrade Kafka Message

Cisco IOS XE 17.18.1w

A new Kafka Telemetry message is being provided that will periodically report the count of IUC downgrades that occur due to codeword errors. The new Kafka message is referred to as “OFDMA-CWERR-Downgrade” and will carry statistics related to the IUC downgrade counts, partial-service counts, current IUC and RxMER send/receive counts.

The OFDMA CWERR-Downgrade Kafka Message is designed to provide real-time insights into the health and performance of your DOCSIS 3.1 upstream OFDMA channels. It specifically focuses on instances where the channel's performance degrades to the point of requiring a downgrade to a less efficient IUC due to codeword errors. This message encapsulates various statistics that allow for a comprehensive analysis of the downgrade event. The data is collected from the Cable Line Card (CLC) and processed by the Kafka Manager (KMAN) before being published to a remote Kafka broker for consumption by service provider applications.

Benefits of OFDMA CWERR Downgrade Kafka Message

  • Enhanced Visibility:

    Provides detailed knowledge and visibility into OFDMA CWERR-Downgrade occurrences across your network.

  • Proactive Problem Identification:

    Enables service providers to quickly identify customer sites suffering from Common Path Distortion (CPD) and other interference issues.

  • Improved Troubleshooting:

    Offers actionable data that helps technicians diagnose and correct underlying network problems more efficiently.

  • Optimized Network Performance:

    By addressing the root causes of downgrades, service providers can maintain higher throughput and reliability for their DOCSIS 3.1 services.

  • Data-Driven Decisions:

    Supplies statistics (IUC downgrade counts, partial-service counts, current IUC, RxMER counts) for informed decision-making regarding network maintenance and upgrades.

Supported Scenarios

This feature is designed to support scenarios where:

  • DOCSIS 3.1 modems are operating on Upstream OFDMA channels.

  • Modems experience codeword errors (CWERR) that trigger a downgrade of the OFDMA channel to a lower Data-IUC.

  • Service providers require real-time or near-real-time data on these downgrade events to monitor network health and identify areas needing intervention.

  • Technicians need to pinpoint specific customer locations or network segments affected by interference (for example, Common Path Distortion) to perform targeted repairs.

Prerequisites for OFDMA CWERR-Downgrade Kafka Message

To utilize the OFDMA CWERR-Downgrade Kafka Message feature, the following prerequisites must be met:

  • Global Telemetry Enabled:

    The global telemetry function on the CBR-8 must be enabled using the cable telemetry enable CLI command.

  • Kafka Broker Configuration:

    A Kafka broker must be configured, including its bootstrap servers, to which the telemetry messages will be published.

  • OFDMA Profile Management:

    The OFDMA Profile Management component on the CBR-8 must be configured to enable and manage IUC downgrades based on codeword errors. This typically involves commands like cable upstream ofdma-prof-mgmt downgrade enable and setting related thresholds.

  • Kafka Consumer:

    A Kafka Consumer application capable of receiving and parsing the "OFDMA-CWERR-Downgrade" messages (which are defined using Google Protocol Buffers - GPB) must be deployed by the service provider to consume and analyze the telemetry data.

Configure the OFDMA CWERR-Downgrade Kafka Message

  1. Enable Global Telemetry and Define Periodic Timer

    Enable global telemetry and define a periodic timer that will control how often the telemetry messages are sent.

    CHS5-RACK2-RPHY#conf t
    CHS5-RACK2-RPHY(config)#cable telemetry enable
    CHS5-RACK2-RPHY(config)#cable telemetry periodic-timer normal interval 15
    
    • cable telemetry enable: Enables the overall telemetry functionality.

    • cable telemetry periodic-timer normal interval 15: Defines a periodic timer named normal with an interval of 15 minutes. This timer will be used to schedule the OFDMA-CWERR-Downgrade messages.

  2. Enable OFDMA-CWERR-Downgrade Message

    Enable the specific OFDMA-CWERR-Downgrade Kafka message and bind it to a periodic timer.

    router(config)#cable telemetry message ofdma-cwerr-downgrade periodic-timer normal
    

    cable telemetry message ofdma-cwerr-downgrade periodic-timer normal: Enables the OFDMA-CWERR-Downgrade message and associates it with the normal periodic timer defined previously.

  3. Configure Kafka Broker

    Configure the Kafka broker details, including the bootstrap servers, and enable the OFDMA-CWERR-Downgrade message for this broker.

    CHS5-RACK2-RPHY(config)#cable telemetry broker kafka_broker1
    CHS5-RACK2-RPHY(config-cable-telemetry-broker)# bootstrap-servers <listener-ip>
    CHS5-RACK2-RPHY(config-cable-telemetry-broker)# message ofdma-cwerr-downgrade
    CHS5-RACK2-RPHY(config-cable-telemetry-broker)#end
    
    • cable telemetry broker kafka_broker1: Enters the configuration submode for a Kafka broker named kafka_broker1.

    • bootstrap-servers <listener-ip>: Specifies the IP address of the Kafka bootstrap server. Replace <listener-ip> with your actual Kafka broker IP.

    • message ofdma-cwerr-downgrade: Enables the OFDMA-CWERR-Downgrade message to be published through this Kafka broker.

  4. Configure OFDMA Profile Management Downgrade (Example)

    Ensure that OFDMA profile management downgrade functionality is enabled and configured with appropriate thresholds. These commands are typically configured on the upstream interface.

    cable upstream ofdma-prof-mgmt downgrade enable
    cable upstream ofdma-prof-mgmt downgrade interval 60
    cable upstream ofdma-prof-mgmt downgrade threshold 100
    cable upstream ofdma-prof-mgmt downgrade hold-down 0
    cable upstream ofdma-prof-mgmt downgrade min-cws 100
    cable upstream ofdma-prof-mgmt downgrade partial-threshold 10
    

These commands enable and configure the parameters for OFDMA channel downgrades based on codeword errors.

Verify OFDMA CWERR-Downgrade Kafka Message

After configuring the OFDMA CWERR-Downgrade Kafka Message, use the following show commands to verify its status and functionality.

  1. Check if the OFDMA-CWERR-Downgrade message is enabled under the configured Kafka brokers.

    router#show cable telemetry brokers
    Broker: kafka-broker
    Bootstrap.Servers : 1.200.90.92
    Message Status
    
    ds-ctrlr-status enabled
    cm-partial-service enabled
    ofdma-cwerr-downgrade enabled

    Verify that `ofdma-cwerr-downgrade` shows `enabled`.

  2. Verify KMAN Configuration

    Check the overall Kafka Manager (KMAN) configuration, including the status of the OFDMA-CWERR-Downgrade message.

    router#show cable kman config
    KMAN global settings:
        IP Address            : 10.2.0.1
        IPv4 Source Address   : <not set>
        IPv6 Source Address   : <not set>
        Telemetry Enable      : enabled
        PNM Enable            : enabled
        CCAP-ID               : CHS5-RACK2-RPHY
        Tftp Qdb Enable       : enabled
           Qdb timeout(mins)  : 15
    KMAN Messages:
        US-RxMER              : disabled
                publish-rate  : 1
        OFDMA Status          : disabled
        DS-Ctrlr-Staus        : enabled
        CM-Partial-Service    : enabled
        cm-reg-status         : disabled
        cm-stats              : disabled
        OFDMA CWErr Downgrade : enabled

    Verify that OFDMA CWErr Downgrade shows enabled.

  3. Verify Periodic Timer Configuration

    Confirm that the OFDMA-CWERR-Downgrade message is correctly associated with a periodic timer and its interval.

    router#show cable telemetry periodic-timer
    Index      Name     Interval    MsgType                 Expire in (Min)
    ------------------------------------------------------------------------
    0          normal   15          ds-ctrlr-status         14
                                    m-partial-service       14
                                    ofdma-cwerr-downgrade   14
    1                   0 
    2                   0 
    3                   0 
    4                   0 
    5                   0 
    6                   0 
    7                   0
    

    Verify the `normal` interval and that `ofdma-cwerr-downgrade` is listed with the correct `Expire in (Min)`.

  4. Verify Kafka Message Details

    Display detailed information about the Kafka messages handled by KMAN, including topic and GPB message names.

    router#show platform software kman R0 kafka message
    GPB Package : cisco.cbr
    Syntax : proto3
    
    Message               Status    Topic Name                         GPB Message
    ---------------------------------------------------------------------------------------
    us-rxmer              disabled  cisco.cbr.cm.us.ofdma.rxmer        CmUsOfdmaRxMer
    ofdma-status          disabled  cisco.cbr.us.ofdma.status          UsOfdmaStatus
    ds-ctrlr-status       enabled   cisco.cbr.ds.ctrlr.status          DsCtrlrStatus
    cm-partial-service    enabled   cisco.cbr.cm.partial.service       CmPartialService
    cm-reg-status         disabled  cisco.cbr.cm.reg.status            CmRegStatus
    cm-stats              disabled  cisco.cbr.cm.stats                 CmStats
    ofdma-cwerr-downgrade enabled   cisco.cbr.us.ofdma.cwerr.downgrade OfdmaCWErrDowngrade
    

    Verify that `ofdma-cwerr-downgrade` shows `enabled` with the correct `Topic Name` and `GPB Message`.

  5. Verify Punted Packet Statistics

    Check the statistics for packets punted to KMAN, specifically for the OFDMA-CWERR-Downgrade subtype.

    router#show platform hardware qfp active feature docsis clc-pkt-punt
    Stats for CLC Packets Punted to KMAN
    PNM
        RxMER       : 0
        UTSC        : 0
        AQProbe     : 0
    Telemetry
        RxMER       : 0
        OFDMA Status: 4
        DS Ctrlr Status: 115
        CM Partial Service: 0
        CM Reg Status: 115
        CM Stats : 115
        OFDMA CWErr Downgrade: 115

    Verify that the OFDMA CWErr Downgrade counter increments when downgrade events occur.

  6. Verify KMAN Database Configuration

    Confirm the persistence of the OFDMA-CWERR-Downgrade message enablement in the KMAN database.

    router#show platform software kman RP active database config_tbl
    KMAN IP address        : 10.2.0.1
    IPv4 Source address    : 0.0.0.0
    IPv6 Source address    : ::
    Telemetry Enable       : enabled
    PNM Enable             : enabled
    US RxMER Msg           : disabled
    Publish Rate           : 1
    OFDMA-Status Msg       : disabled
    Tftp Qdb Enable        : enabled
    Tftp Qdb timeout(mins) : 15
    DS-Ctrlr-Status Msg    : enabled
    CM-Partial-Service Msg : enabled
    cm-reg-status Msg      : disabled
    cm-stats Msg           : disabled
    OFDMA-CWErr-Downgrade Msg: enabled

    Verify that OFDMA-CWErr-Downgrade Msg shows enabled.

  7. Verify Data on Kafka Consumer

    The ultimate verification is to ensure that the Kafka Consumer receives and correctly displays the OFDMA-CWERR-Downgrade messages with accurate statistics.

    • Ensure that your Kafka Consumer is running and connected to the configured Kafka broker.

    • Monitor the consumer's output to confirm that OFDMA-CWERR-Downgrade events are being received.

    • Compare the statistics (for example, downgrade counts, partial counts, current IUC, RxMER counts) reported by the consumer with any corresponding show commands on the cBR8 (for example, show cable modem <mac-addr> prof-mgmt upstream) to ensure consistency.

Monitor OFDMA CWERR-Downgrade Kafka Messages

After configuring the OFDMA CWERR-Downgrade Kafka Message, you can monitor its operation using a Kafka Consumer and specific CLI commands on the CBR-8.

  1. Monitor with Kafka Consumer

    The primary method for monitoring the OFDMA CWERR-Downgrade messages is through a Kafka Consumer application.

    • Deploy a Kafka Consumer:

      Ensure that you have a Kafka Consumer application configured to subscribe to the cisco.cbr.us.ofdma.cwerr.downgrade topic. The consumer should be built to deserialize the Google Protocol Buffer (GPB) messages using the ofdma_cwerr_downgrade.proto definition.

    • Observe Received Messages:

      You can receive periodic messages containing statistics related to OFDMA CWERR-Downgrades.

    • Analyze Statistics:

      The consumer application can then process and display the cwerr_downgrade_count, cwerr_downgrade_partial_count, uschan_partial_reason, rxmer_send_count, rxmer_recv_count, and current_iuc for affected modems and channels. The uschan_partial_reason field can be decoded to understand the specific reasons for partial mode, such as "RNG" (ranging failure), "CwErr" (codeword error), or "RxMER" (RxMER issue).

  2. Monitor KMAN Statistics

    You can monitor the performance and success rate of the Kafka Manager (KMAN) in publishing these messages using the following CLI:

    router#show platform software kman R0 statistics

    This command provides statistics related to KMAN job processing and publication, allowing you to see if the OFDMA-CWERR-Downgrade messages are being successfully published or if there are any failures.

  3. Monitor Trace Logs

    For detailed debugging and monitoring of the KMAN process related to this feature, you can enable trace logging:

    tb19-cbr8#set platform software trace kman R0 kman_ofdma_cwerr_downgrade debug

    After enabling, you can connect to the management IP and navigate to /tmp/rp/trace to decode the OFDMA-CWERR-Downgrade message specific trace file. This provides granular insight into the internal workings and events.

  4. Monitor OFDMA Profile Management Status

    To see the current OFDMA profile management status and downgrade counts on the cBR8 for a specific modem, use:

    ROUTER#show cable modem <mac-addr> prof-mgmt upstream

    This command provides the local view of the downgrade statistics on the cBR8, which should correlate with the data reported in the Kafka messages.

OFDMA AQProbe Enhancements - PNM Active/Quiet Probe

Table 13. Feature History

Feature Name

Release Information

Feature Description

OFDMA AQProbe Enhancements

Cisco IOS XE 17.18.1y

PNM Active/Quiet Probe (AQProbe) feature defined by the DOCSIS PNM MIB docsPnmCmtsUsOfdmaAQProbe is a new enhancement for better planning and diagnosis of RF plant issues in the Upstream path.

Active/Quiet Probe is designed to help operators analyze and maintain the upstream RF plant by providing controlled, time-scheduled measurements.

Support for AQProbe MIB data availabillity via protobuf streamed over the Kafka bus

Cisco IOS XE 17.18.1y

Kafka events are defined by Google Protocol Buffers (GPB) for returning CmUsOfdmaAqProbe data samples initiated by SNMP either in addition to or in place of TFTP files.

The OFDMA AQProbe (Active/Quiet Probe) feature is a Proactive Network Maintenance (PNM) enhancement designed to improve RF plant planning and diagnosis in the Upstream path for Cisco cBR-8 routers.

  • What: It is a new capability defined by the DOCSIS PNM MIB (docsPnmCmtsUsOfdmaAQProbe) that allows operators to trigger controlled measurements on upstream OFDMA channels.
  • How: Operators initiate measurements using SNMP or CLI (ping) commands. The system captures the response via the physical PHY device (locally for Integrated CMTS or remotely for RPHY). Captured data is then transferred to a configured destination, such as a TFTP server, a Kafka server, or local storage on the cBR-8.
  • Why: It provides operators with granular data to assess plant response characteristics, including amplitude, phase, and group delay. It is essential for measuring noise floors and detecting upstream impairments like ingress noise and reflections, ultimately improving spectrum planning and troubleshooting efficiency.

AQProbe is defined by the DOCSIS PNM MIB docsPnmCmtsUsOfdmaAQProbe which enables improved RF plant planning and diagnosis in the Upstream path. Active/Quiet Probe is designed to help operators analyze and maintain the upstream RF plant by providing controlled measurements.

AQProbe burst is mesured by a physical PHY device locally for an ICMTS-based system (Integrated CMTS) and remotely for an RPHY-based system (Remote PHY Device). The measurement is received from the PHY by the cBR-8 router and reported in an AQProbe File format defined by CM-SP-CCAP-OSSIv3.1-I26-230613.

AQProbe file is transferred from the cBR8 to either a TFTP Server, Kafka Server. The selection of the destinations is determined by configuring the PNM Bulk Data Transfer (BDT) Configuration Table, docsPnmBulkDataTransferCfgTable::docsPnmBulkDataTransferCfgDestBaseUri

AQProbe support multiple types of users or “Clients” that can request an AQProbe measurement. These users are SNMP and PING. The SNMP user is the only external user supported. PING users are supported locally on the cBR8 from the standard CLI interface.

AQProbe Supports both Virtual Combining (4x RPDs sharing the same US controller and spectrum) and Non-Virtual Combining (VC) configurations.

Benefits of PNM Active/Quiet Probe

  • Enhanced Troubleshooting: Enables detection of specific impairments like group delay distortion and reflections.
  • Flexible Data Delivery: Supports concurrent delivery of measurement results via TFTP and Kafka.
  • Improved Planning: Provides clear visualization of the upstream noise floor and signal behavior.
  • Versatility: Supports both RPHY and Integrated CMTS (iCMTS) architectures.
  • Operational Efficiency: Allows for automated job status monitoring and local graphing of results.

Supported Scenarios

This feature is designed to support scenarios where:

  • RPHY Virtual Combining: Allows for targeting a specific RPD upstream port in an n:1 virtual combining environment.
  • Integrated CMTS: Supports local capture and measurement on integrated linecards.
  • Active/Quiet Probing: Suitable for both targeted modem analysis (Active) and general plant noise floor analysis (Quiet).
  • Automated Data Collection: Supports integration with external Kafka brokers for real-time telemetry.

Restrictions for PNM Active/Quiet Probe

  • CLI based graphing is supported only in the Frequency Domain.
  • The docsPnmBulkDataTransferCfgLocalStore attribute is not supported for SNMP users.
  • Jobs currently in a "Busy" state cannot be cleared using the clear command.
  • The maximum number of symbols to capture is determined by RPD capabilities (Absolute maximum is 8 for RPHY, 2 for Integrated linecards).

Kafka Messages

BDT SNMP Table: docsPnmBulkDataTransferCfgTable

 DocsPnmBulkDataTransferCfgEntry ::=
    SEQUENCE {
        docsPnmBulkDataTransferCfgDestIndex              Unsigned32,
        docsPnmBulkDataTransferCfgDestHostname           SnmpAdminString,
        docsPnmBulkDataTransferCfgDestHostIpAddrType     InetAddressType,
        docsPnmBulkDataTransferCfgDestHostIpAddress      InetAddress,
        docsPnmBulkDataTransferCfgDestPort               Unsigned32,
        docsPnmBulkDataTransferCfgDestBaseUri            Uri,
        docsPnmBulkDataTransferCfgProtocol               INTEGER,
        docsPnmBulkDataTransferCfgLocalStore             TruthValue,
        docsPnmBulkDataTransferCfgRowStatus              RowStatus
     }

Use this MIB table to configure tftp destinations. The docsPnmBulkDataTransferCfgLocalStore attribute is not supported for SNMP users. DestBaseUri supports the "?kafka=true" and "?kafka=only" extensions.

DocsPnmCmtsUsOfdmaAQProbeTable

DocsPnmCmtsUsOfdmaAQProbeEntry.[OFDMA channel ifIndex]
 SEQUENCE {
        docsPnmCmtsUsOfdmaAQProbeCmMacAddr           MacAddress,
        docsPnmCmtsUsOfdmaAQProbeUseIdleSid          TruthValue,
        docsPnmCmtsUsOfdmaAQProbePreEqOn             TruthValue,
        docsPnmCmtsUsOfdmaAQProbeEnable              TruthValue,
        docsPnmCmtsUsOfdmaAQProbeTimeout             Unsigned32,
        docsPnmCmtsUsOfdmaAQProbeNumSymToCapt        Unsigned32,
        docsPnmCmtsUsOfdmaAQProbeMaxCaptSymbols      Unsigned32,
        docsPnmCmtsUsOfdmaAQProbeNumSamples          Unsigned32,
        docsPnmCmtsUsOfdmaAQProbeTimeStamp           OCTET_STRING,
        docsPnmCmtsUsOfdmaAQProbeMeasStatus          MeasStatusType,
        docsPnmCmtsUsOfdmaAQProbeFileName            SnmpAdminString,
        docsPnmCmtsUsOfdmaAQProbeFreqDomainSamples   TruthValue,
        docsPnmCmtsUsOfdmaAQProbeDestinationIndex    Unsigned32
 }

SNMP Client Considerations

The BDT Table and AQ-Probe Table can be accessed concurrently by multiple SNMP clients. The operator must ensure that a single client utilizes a specific table row entry through the process of triggering and collecting a specific measurement

Ensure coordination of polling intervals to avoid excessive SNMP traffic or contention on shared resources.

Multiple BDT destination indexes are supported to process the concurrent jobs.


Note


BDT parameters are captured and maintained through the measurement when Enable is set to true. If the BDT table entry is changed after Enable is set to true, the changes will not affect the measurement destination.


Supports multiple TFTP destination servers to upload the capture data of AQProbe from cBR-8.

The probe parameters are stored into an AQ Probe Job database using the OFDMA channel ifIndex and requesting a client identifier.

To initiate the probe, the docsPnmCmtsUsOfdmaAQProbeEnable is set to value 1 (TRUE), after all other values are set. During the probe, SNMP query GETs are supported, and docsPnmCmtsUsOfdmaAQProbeMeasStatus will indicate the state of the probe request

When the probe starts, the status will transition from INACTIVE to BUSY. When TFTP file transfer is complete, the status will transition from BUSY to SAMPLE_READY

AQProbe and BDT MIB Table Behavior for cBR-8

If an operator sets docsPnmCmtsUsOfdmaAQProbeEnable to false while it is already false:

  • docsPnmCmtsUsOfdmaAQProbeFileName is set to default.

  • docsPnmCmtsUsOfdmaAQProbeMeasStatus changes to inactive

  • Internal job state visible via CLI is cleared.

Use Case: Allows operator to quickly reuse the same parameters for another measurement with auto-filename generation.

BDT Table docsPnmBulkDataTransferCfgDestBaseUri supports extensions to allow for both tftp and Kafka concurrent delivery of measurement results.

  • "?kafka=only" will send results to only the configured Kafka broker message destinations

  • "?kafka=true" will send results to both the tftp destination and the configured Kafka broker message destinations

AQProbe Job status

Status of an AQProbe request is available in the docsPnmCmtsUsOfdmaAQProbeMeasStatus attribute of the MIB table entry docsPnmCmtsUsOfdmaAQProbeEntry.

An attribute value of 'SampleReady' indicates that the measurement has been successfully completed. Any errors encountered during processing are reported with the attribute value of 'Error’

The following is a subset of AQProbe processing errors:

  • Probe Not Sent

  • RPD Capability Error

  • PHY Device Unsupported

  • Modem US Partial Server

  • Modem Not-Online

  • Modem not Found

  • Probe Timed Out

  • Probe Requested Params Capture Mismatch

  • Probe Capture Data Error

  • PHY device Errors

  • BDT entry incomplete/not-configured

Configuration Overview

  1. Enable PNM and Telemetry:

    cBR8(config)# cable snmp pnm enable
    cBR8(config)# cable telemetry enable
    
  2. Configure Telemetry for AQProbe

    router(config)#cable telemetry message ofdma-aqprobe 
    router(config)#cable telemetry broker broker-cluster-1
    router(config-cable-telemetry-broker)#  bootstrap-servers 1.2.2.252:9092
    router(config-cable-telemetry-broker)#  message ofdma-aqprobe
    router(config-cable-telemetry-broker)#

PNM BDT destination

docsPnmBulkDataTransferCfgDestBaseUri

This is SNMP BDT configuration parameter used to set the base URI (for example, kafka-only or kafka-true endpoint) where the collected bulk data (for example, telemetry, PNM metrics) is sent from CM or CMTS to a remote server. URI is used by SNMP (Simple Network Management Protocol) client where a URL query parameter modifies how data is published. Here is a sample URI:

tftp://<ip addr>/pnm                     -> TFTP
tftp://<ip addr>/pnm?kafka=true                    -> Publish to TFTP and Kafka
tftp://[<ipv6 addr>]/pnm?kafka=only                -> Publish to Kafka only
tftp://<ipv4 addr>:Port/mkayasth/pnmaq
tftp://[Ipv6]:Port/mkayasth/pnmaq

Note: Port range :  0-65535.

SNMP AQProbe Configuration Commands

docsPnmCmtsUsOfdmaAQProbeCmMacAddr
1.3.6.1.4.1.4491.2.1.27.1.3.3.1.1.<OFDMA ifindex> 

docsPnmCmtsUsOfdmaAQProbePreEq -  (1-On, 2-Off)
1.3.6.1.4.1.4491.2.1.27.1.3.3.1.3.<OFDMA ifindex>

docsPnmCmtsUsOfdmaAQProbeUseIdleSid - (1- Quiet, 2-Active)
1.3.6.1.4.1.4491.2.1.27.1.3.3.1.2.<OFDMA ifindex>

docsPnmCmtsUsOfdmaAQProbeNumSymToCapt – (RPHY: 2 - 8, default is 2) or (ICMTS: default 2)
1.3.6.1.4.1.4491.2.1.27.1.3.3.1.6.<OFDMA ifindex>

docsPnmCmtsUsOfdmaAQProbeDestinationIndex – (1 - 3)
1.3.6.1.4.1.4491.2.1.27.1.3.3.1.13.<OFDMA ifindex>

docsPnmCmtsUsOfdmaAQProbeFreqDomainSamples – (1-Freq 2-Time)
1.3.6.1.4.1.4491.2.1.27.1.3.3.1.12.<OFDMA ifindex>

docsPnmCmtsUsOfdmaAQProbeEnable – (1-On, 2-Off)
1.3.6.1.4.1.4491.2.1.27.1.3.3.1.4.<OFDMA ifindex>

docsPnmCmtsUsOfdmaAQProbeMaxCaptSymbols

docsPnmCmtsUsOfdmaAQProbeMaxCaptSymbols

1.3.6.1.4.1.4491.2.1.27.1.3.3.1.7.<OFDMA ifindex>

Remote PHY Linecard Considerations

The absolute Maximum is 8

  • The maximum reported for a particular table row is determined by the RPD capabilities associated with the channel.

  • If all RPDs do not support the same maximum, the row will report the lowest common supported maximum.

Integrated Linecard Considerations

The absolute Maximum is 2

docsPnmCmtsUsOfdmaAQProbeNumSymToCapt - Set this to a value between 2 and the maximum reported by MaxCaptSymbols

Information About PNM Active/Quiet Probe

The AQProbe feature supports two types of probe measurements:

  • Active Probe: Targets a specific modem (identified by MAC or IP address) to generate a burst for measurement. This allows for precise analysis of a specific modem's path.
  • Quiet Probe: Measures the upstream channel when all modems are silent (using an idle SID). This is used to analyze the background noise floor or energy levels.

The data collected from these probes can be delivered via TFTP, Kafka, or stored locally on the cBR-8 hard disk.

A probe measurement is performed by the receiving PHY, which measures the upstream signal (energy measurements, timing, frequency response, etc.) and sends the measurement up to the CMTS using a series of UEPI (Upstream External PHY Interface) frames.

If an Active Probe capture was requested, the modem is identified via docsPnmCmtsUsOfdmaAQProbeCmMacAddr, which specifies the MAC address of the modem to generate the burst for measurement.

If a Quiet Probe was requested, all modems remain silent (do not burst) for the measurement. The receiving PHY device instead measures the noise floor or background energy on the upstream channel.

The Quiet Probe functionality will support two operational modes:

  1. Modem MAC Address specified (useful for RPD virtual combining case)

    When a modem MAC address is included in the quite probe request, the measurement is taken by the PHY on the RPD upstream port associated with the modem mac address. This allows the measurement to target a specific RPD upstream port in the case of n:1 virtual combining, where n RPD upstream ports are associated with one mac domain upstream controller.

  2. No Modem MAC Address specified.

    When no modem MAC address is provided in the AQProbe request, cBR-8 will select the RPD with device ID ‘0’ by default to perform the quiet probe measurement.

AQProbe file Format

Element Size
File type (value = 504E4E66) 4 bytes
Major Version (value = 3) 1 byte
Minor Version (value = 0) 1 byte
Capture Time 4 bytes
IfIndex 4 bytes
Unique CCAP ID 256 bytes
RPD ID 6 bytes
RPD Port Number 1 byte
CM MAC Address 6 bytes
Subcarrier zero frequency in Hz 4 bytes
Subcarrier Spacing in kHz 1 byte
Length in bytes of the Excluded Subcarrier Data 4 bytes
Excluded Subcarrier Data ExclSubCarrierType
Length in bytes of the Probe Capture Data 4 bytes
PreEq On or Off 1 byte
Length 2 bytes
Rolloff 1 byte
FirstSampleIndex 2 bytes
FrequencyDomainSamples 1 byte
Probe Information Element (P-IE) 4 bytes
Timestamp 8 bytes
Probe Capture Data ComplexData

OSSI File Size Calculation

Element Size
OSSIFILE HDR(OSSI) 315 bytes
EXCL SUBCARRIER DATA(EX) 512 bytes (SC-Space=25KHz), 256 bytes (SC-Space=50KHz)
Active and Quiet Sample (IQ) 4 Bytes
Window Size (WS) 4096 bytes (SC-Space=25KHz), 2048 bytes (SC-Space=50KHz)
Number of Symbols (S) 2 to 8 (up to 8 RPHY Only)
Frequency Domain Calculations
  • Data Length (DL) = WS * IQ * S
  • File Size (bytes) = DL + OSSI + EX
Time Domain Calculations
  • File Size (bytes) = (WS + Cyclic Prefix) * IQ * S + OSSI + EX

Ping Docsis AQProbe Commands

Users can initiate quiet and active probes on OFDMA channels using the “ping docsis aqprobe” CLI commands with the required upstream channel number. The other CLI options that can be selected after “upstream” are optional and interchangeable in any order.

router#ping docsis aq-probe ?
  A.B.C.D     IP address of this modem
  Cable       CMTS interface
  H.H.H       MAC address of this modem
  X:X:X:X::X  IPv6 address of this modem

Active Probe:

router#ping docsis aq-probe 6477.7d90.3f36 upstream 5 ?
  capture-mode  Set capture mode Time or Frequency Domain
  kafka         Set Kafka publish enable
  num-symbols   Set number of symbols to capture
  pre-eq        Set pre-equalization enable/disable

Quiet Probe:

router#ping docsis aq-probe <MAC Domain> upstream <0-15> ?
  capture-mode   Set capture mode Time or Frequency Domain
  kafka          Set Kafka publish enable
  num-symbols    Set number of symbols to capture
  pre-eq         Set pre-equalization enable/disable
  rpd-id         Set RPD MAC Address

rpd-id is useful in the case of remote PHY virtual combining. rpd-id provides a method to specify a particular RPD upstream port to perform the quiet measurement. If this option is not specified for a VC group, the measurement will occur on RPD DevID 0.

Operational Commands

Table 14. Show Commands

Command and Syntax

router#show cable pnm aq-probe ?        
  filename   AQ-Probe filename including path (harddisk:pnm/)
  interface  Display AQ-probe PNM file for interface
  job-list   Show PNM AQ-Probe Job List
  |          Output modifiers

To display the OFDMA AQProbe data based on the input parameters

router#show cable pnm aq-probe job-list ?
  all             Show PNM AQ-Probe Job List All detail
  ifIndex     Show PNM AQ-Probe Job details for a specific ifIndex
  summary  Show PNM AQ-Probe Job List Summary Info

To display the list of AQProbe Jobs summary and details issued to the CBR-8 from different client user sources.

router#show cable pnm aq-probe ?        
  filename   AQ-Probe filename including path (harddisk:pnm/)
  interface  Display AQ-probe PNM file for interface
  job-list   Show PNM AQ-Probe Job List
  |          Output modifiers

To display the OFDMA AQProbe data based on the input parameters

router#show cable pnm aq-probe filename ?          
  WORD  PNM AQ-Probe filename and path
show cable pnm aq-probe filename harddisk:pnm/test_file graph

Zoom  mode :
show cable pnm aq-probe filename harddisk:/pnm/filename zoom-graph <value>
(25KHz 0-3967, 50KHz 0-1919)

To display the captured AQProbe IQ/Data and summary contents of the AQProbe File.

To show the graph for the AQProbe I/Q Data from a probe captured with Frequency Domain data.

Zoom AQProbe graph shows 128 subcarriers (start from given subcarrier).

For Time Domain, Graph is not supported.

router#show cable pnm aq-probe interface c1/0/0 upstream 6 active ?
  graph       Graph the AQProbe Frequency Domain data
  verbose     Include HEX data in the show output
  zoom-graph  Zoom AQProbe graph to 128 subcarriers
  |           Output modifiers
  <cr>        <cr>

This CLI used to dump the contents of an AQProbe file by using the MAC Domain interface where the AQProbe was directed.

<Intf> is a MAC Domain, Cable<slot>/0/<mac domain index>

The clear cable pnm aq-probe job-list command clears all OFDMA AQProbe jobs.


Note


Jobs in busy state are not cleared


The following existing commands can be used to check Telemetry OFDMA AQ-Probe status:

  • show cable telemetry brokers
  • show platform software kman rp active Kafka broker
  • show cable kman config
  • show plat soft kman R0 config
  • show plat soft kman R1 config
  • show platform software kman R0 stats pnm
  • show platform software kman R0 stats tftp
  • show platform software kman R0 kafka stats
  • show platform software kman RP active database config_tbl
  • show plat soft kman R0 database config
  • show plat soft kman R1 database config
  • show platform hardware qfp act infra punt summary | inc cable
  • show platform hardware qfp active feature docsis clc-pkt-punt

Use the show snmp mib ifmib ifindex | i Cable<slot/<sublot/ctrlr>-upstream<channel> command to get the ifindex value.

Here are a few sample outputs:

router# show snmp mib ifmib ifindex | inc Cable6/0/0-upstream6
Cable6/0/0-upstream6: Ifindex = 494958
router# show snmp mib ifmib ifindex | inc Cable6/0/0-upstream7
Cable6/0/0-upstream7: Ifindex = 494959

router# show cable telemetry brokers
Broker: aqprobeManual
  Bootstrap.Servers : 1.200.90.83
  Message                   Status
  ----------------------------------
  ofdma-aqprobe             enabled

router# show platform software kman rp active kafka broker
Broker: aqprobeManual
Bootstrap.Servers : 1.200.90.83
Broker State: UP

router# show cable kman config
KMAN global settings:
    IP Address            : 10.2.0.1
    IPv4 Source Address   : <not set>
    IPv6 Source Address   : <not set>
    Telemetry Enable      : enabled
    PNM Enable            : enabled
    CCAP-ID               : CBR-DEV07-P15
    Tftp Qdb Enable       : enabled
        Qdb timeout(mins) : 15

KMAN Messages:
    US-RxMER              : disabled
             publish-rate : 1
    OFDMA Status          : disabled
    DS-Ctrlr-Staus        : disabled
    CM-Partial-Service    : disabled
    cm-reg-status         : disabled
    CM-stats              : disabled
    UsDynPwr Event        : disabled
    OFDMA CWErr Downgrade : disabled
    OFDMA AQ-Probe        : enabled

router# show platform software kman R0 stats pnm
  PNM TFTP Stats          Success       Failure
  --------------------------------------------------
  us-rxmer-tftp           0             0
  aq-probe-tftp           3             0
  utsc-tftp               0             0

router# show platform software kman R0 stats tftp
  TFTP Client Stats
  ---------------------------------
  TFTP Total Sessions   : 3
  TFTP Xfer Success     : 3
  TFTP Xfer Failure     : 0

  TFTP Server Err       : 0
  TFTP WRQ Send Err     : 0
  TFTP WRQ Rsp Timeout  : 0
  TFTP DAT Send Err     : 0
  TFTP DAT Rsp Timeout  : 0

router# show platform software kman R0 kafka stats
Broker: aqprobeManual
State: UP

Tx Packets : 6
Tx Bytes   : 160359
Rx Packets : 6
Rx Bytes   : 909
Cur Outq Len : 0
Max Outq Len : 3

            Topic Name           Prod Msg  Prod bytes  Tx Msgs   Tx Msg bytes  Err Msgs
  -----------------------------  -------- ----------  ---------  ----------    ---------
  cisco.cbr.cm.us.ofdma.aqprobe      3       159726      3       159726            0

router# show plat soft kman rp active database config_tbl
KMAN IP address           : 10.2.0.1
IPv4 Source address       : 0.0.0.0
IPv6 Source address       : ::
Telemetry Enable          : enabled
PNM Enable                : enabled
US RxMER Msg              : disabled
Publish Rate              : 1
OFDMA-Status Msg          : disabled
Tftp Qdb Enable           : enabled
Tftp Qdb timeout(mins)    : 15
DS-Ctrlr-Status Msg       : disabled
CM-Partial-Service Msg    : disabled
cm-reg-status Msg         : disabled
cm-stats Msg              : disabled
OFDMA-CWErr-Downgrade Msg : disabled
OFDMA-AQProbe Msg         : enabled


router# show platform hardware qfp act infra punt summary | inc cable
167  cable-pnm-pkt     566       0       0       0      0       0      566
166  cable-telem-pkt   559       0       0       0      0       0      559
103  cable-pre-reg     3807      0       0       0      0       0      3807
157  cable-snmp        381       0       0       0      0       0      381
125  cable-rphy-ctrl   149875    0       0       0      0       0      49875
cable-dhcp             1534      0       0       0      0       0      1534

router# show platform hardware qfp active feature docsis clc-pkt-punt
Stats for CLC Packets Punted to KMAN
PNM
    RxMER       : 0
    UTSC        : 0
    AQProbe     : 566

Telemetry
    RxMER       : 0
    OFDMA Status: 0
    DS Ctrlr Status: 0
    CM Partial Service: 0
    CM Reg Status: 0
    CM Stats : 0
    Usdynpwr Event: 0
    OFDMA CWErr Downgrade: 0
    OFDMA AqProbe: 559
Unknown: 0

AQProbe show & clear Job-list output

router# show cable pnm aq-probe job-list summary
                                                                             BDT
                                                        A Pre Freq Num Data  Dst
Job  CltID ifIndex MD/Upstream CM-Mac/RPD-ID  Status    Q Eq  Time Sym Dst   Idx Date-Time
-------------------------------------------------------------------------------------------------------
3    SNMP  494958  C6/0/0/U6   b42a.0e85.4335 SMPL_RDY  A Y   T    6   T+K   2   2025 Oct 29 02:35:09
4    SNMP  494959  C6/0/0/U7   f4db.e6cd.d8da SMPL_RDY  Q Y   T    3   T+K   2   2025 Oct 29 03:27:46
5    PING  494959  C6/0/0/U7   f4db.e6cd.d8da SMPL_RDY  Q N   F    4   L     255 2025 Oct 29 02:51:32
PNM AQPROBE job count 3
   AQProbe Show Job List Abbreviation Definitions
   C:  Client-ID (S-SNMP, P-Ping, T-Test)
   A Q:  Active or Quiet Probe
   Data-Dst: (T-TFTP, K-KAFKA, L-Local)
   RTY: Retry Count

router# clear cable pnm aq-probe job-list
PNM AQPROBE Deleted job count 3

router# show cable pnm aq-probe job-list summary
                                                                             BDT
                                                        A Pre Freq Num Data  Dst
Job  CltID ifIndex MD/Upstream CM-Mac/RPD-ID  Status    Q Eq  Time Sym Dst   Idx Date-Time
-------------------------------------------------------------------------------------------------------

PNM AQPROBE job count 0

Generated AQProbe Filenames

Default Generated TFTP Filenames

As specified in the PNM MIB, if the docsPnmCmtsUsOfdmaAQProbeFileName field is an empty string a default filename value is generated as the test name plus a unique CCAP identifier (either a loopback address (IPv4 or IPv6) or FQDN), plus the current timestamp and the ifIndex of the interface on which the test runs. The timestamp is formatted as shown below:

<Year:4d>-<Month:2d>-<Day:2d>_<Hour:2d>:<Minute:2d>:<Second:2d>.<Millisecond:3d>

Hence, the format is: PNMCcapAQProbe_<Unique CCAP Identifier>_<Timestamp>_<ifIndex>

For example: PNMCcapAQProbe_tb14-cbr8_2026-03-31_10:19:39.033_488046

Locally Stored Filenames

All locally stored AQProbe files are located in the /harddisk/pnm directory on the SUP.

PING Client: The is formatted as shown below:

aq_probe_<MAC Domain Interface>_<Upstream-channel>_<ifIndex>_<active/quite>.dat

For example: aq_probe_c1_0_0_u6_488046_active.dat

AQProbe Graphing

The graph is supported only in the Frequency Domain.


router# show cable pnm aq-probe filename harddisk:/pnm/aq_probe_c6_0_0_u7_494959_quiet.dat graph
PNM AQ-Probe File: harddisk:/pnm/aq_probe_c6_0_0_u7_494959_quiet.dat

           File Type : 0x504E4E66
.          ....  .
        Capture Time : 1761717092 secs
             ....
      Excl SC Length : 512
0x0000  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFF000  00000000  00000000  00000000  
......
0x01E0  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  
.....
           Timestamp : 802E89B81F2AA2DB

          Graph Data  
     Num Subcarriers : 4096
Num Symbols Captured : 4
  Num SCs per Column : 32
                                                                 AQProbe
                                                             Frequency Domain

      0 |                                                                                                                                
     -3 |                                                                                                                                
     -6 |                                                                                                                                
     -9 |                                                                                                                                
    -12 |                                                                                                                                
    -15 |                                                                                                                                
    -18 |                                                                                                                                
    -21 |                                                                                                                                
 dB -24 |                                                                                                                                
    -27 |                                                                                                                                
    -30 |                                                                                                                                
    -33 |                                                                       ++  +         +   +   +    +         ++ + +  ++   ++ ++  
    -36 |+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  ++ +++++++++ +++ +++ ++++ +++++++++  + + ++  +++  +  ++
    -39 |                                                                                                                                
    -42 |                                                                                                                                
    -45 |                                                                                                                                
    -48 |                                                                                                                                
        +--------------------------------------------------------------------------------------------------------------------------------
         0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 
         0 0 1 1 2 3 3 4 5 5 6 7 7 8 8 9 0 0 1 2 2 3 4 4 5 6 6 7 7 8 9 9 0 1 1 2 3 3 4 4 5 6 6 7 8 8 9 0 0 1 2 2 3 3 4 5 5 6 7 7 8 9 9 0 
         0 6 2 9 5 2 8 4 1 7 4 0 6 3 9 6 2 8 5 1 8 4 0 7 3 0 6 2 9 5 2 8 4 1 7 4 0 6 3 9 6 2 8 5 1 8 4 0 7 3 0 6 2 9 5 2 8 4 1 7 4 0 6 3 
         0 4 8 2 6 0 4 8 2 6 0 4 8 2 6 0 4 8 2 6 0 4 8 2 6 0 4 8 2 6 0 4 8 2 6 0 4 8 2 6 0 4 8 2 6 0 4 8 2 6 0 4 8 2 6 0 4 8 2 6 0 4 8 2 

AQProbe Zoom Graphing–25KHz: Graph is supported only in Frequency Domain

router#show cable pnm aq-probe filename harddisk:/pnm/aq_probe_c1_0_0_u4_488044_active.dat zoom-graph 2000
PNM AQ-Probe File: harddisk:/pnm/aq_probe_c1_0_0_u4_488044_active.dat

           File Type : 0x504E4E66
           Major_Ver : 3
           Minor_Ver : 0
        Capture Time : 1777300205 secs
             ifIndex : 488044
             CCAP-ID : tb22-cbr8
              RPD ID : F4DB.E614.05F2
            RPD port : 0
              CM mac : 4800.33EF.012E
     SC0 Center Freq : 36800000
          SC Spacing : 25 kHz
      Excl SC Length : 512
0x0000  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFF000  00000000  00000000  00000000  
0x0020  00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000  
0x0040  00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000  
0x0060  00000000  00000000  00000000  00000000  00000000  00000000  00000000  00000000  
0x0080  00000000  00000000  00000FFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  
0x00A0  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  
0x00C0  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  
0x00E0  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  
0x0100  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  
0x0120  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  
0x0140  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  
0x0160  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  
0x0180  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  
0x01A0  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  
0x01C0  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  
0x01E0  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  
 Capture Data Length : 32768
              Pre-Eq : 1
       Cyclic Prefix : 0
             Rolloff : 0
    First Sample Idx : 148
         Freq Domain : 1
            Probe-IE : 11480000
           Timestamp : 00000000E529D5FD

          Graph Data  
     Num Subcarriers : 4096
Num Symbols Captured : 2
  Num SCs per Column : 1
                                                                 AQProbe
                                                             Frequency Domain

      0 |                                                                                                                                
     -3 |                                                                                                                                
     -6 |                                                                                                                                
     -9 |                                                                                                                                
    -12 |                                                                                                                                
    -15 |                                                                                                                                
    -18 |                                                                                                                                
    -21 |                                                                                                                                
 dB -24 |                                                                                                                                
    -27 |                                                                                                                                
    -30 |            +  +                +   +           +                                                                               
    -33 |+++ + +    + ++  + +  +++++ +  +  ++      +++  + + +++ ++ ++++++++  ++ + + + ++++   ++++  +      + ++   ++++ +++ +++ ++    ++ ++
    -36 |   + + ++++     + + +      + +   +   ++  +   ++   +   +  +        ++  + + + +    ++      + ++++++ +  +++    +   +      ++++  +  
    -39 |                     +        +        ++                                          +    +                           +           
    -42 |                                                                                                                                
    -45 |                                                                                                                                
    -48 |                                                                                                                                
        +--------------------------------------------------------------------------------------------------------------------------------
         2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 
         0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
         0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 7 7 7 7 7 8 8 8 8 8 9 9 9 9 9 0 0 0 0 0 1 1 1 1 1 2 2 2 2 
         0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 
AQProbe Zoom Graphing–50KHz
router# show cable pnm aq-probe filename harddisk:/pnm/PNMCcapAQProbe_tb-cbr8_2025-06-12_13:47:16.000_488046.ICMTS-F-A-50_45_256_7_Excl-10MHz zoom-graph 256
PNM AQ-Probe File: harddisk:/pnm/PNMCcapAQProbe_tb14-cbr8_2025-06-12_13:47:16.000_488046.ICMTS-F-A-50_45_256_7_Excl-10MHz

       File Type : 0x504E4E66
       ...
       SC Spacing : 50 kHz
      Excl SC Length : 256
0x0000  FFFFFFFF  FFFFFFFF  FF030000  00000000  00000000  00000000  00000000  00000000
...
0x00E0  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF
 Capture Data Length : 57344
         ....    
         ....
         Freq Domain : 1
            Probe-IE : 00040000
           Timestamp : 7F4FC8A024B75C80

          Graph Data
     Num Subcarriers : 2048
Num Symbols Captured : 7
  Num SCs per Column : 1
                                                                 AQProbe
                                                             Frequency Domain

      0 |                                                                                                                           
     -3 |                                                                                                                           
     -6 |                                                                                                                           
     -9 |
    -12 |++++++++                                                                                                                   
    -15 |                                                                                                                           
    -18 |                                                                                                                           
    -21 |                                                                                                                           
 dB -24 |                                                                                                                           
    -27 |                                                                                                                           
    -30 |             +               +       +               ++                                                                    
    -33 |            + ++   + +    + +                      +   +++    +       +       +            +  +       ++       ++   +  +      ++
    -36 |        ++++    +++ + ++++ +  + +++++ +++++  ++++++ +     ++++ +++++++ +++++++ ++++++++++++ ++ +++++++  +++++++  +++ ++ + +++
    -39 |                               +           ++                                                                            +   ++
    -42 |                                                                                                                           
    -45 |                                                                                                                           
    -48 |                                                                                                                           
        +--------------------------------------------------------------------------------------------------------------------------------
         0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
         2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
         5 5 6 6 6 6 6 7 7 7 7 7 8 8 8 8 8 9 9 9 9 9 0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 7 7 7 7 7 8 8
         6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2
AQProbe Graph Usage

Below are the scenarios where the AQ-Probe graph can be especially useful for debugging RF problems:

The AQ-Probe graph is most useful when you need direct visualization of signal behavior at any stage in your RF chain. It bridges the gap between raw signal capture and modulation quality metrics, helping engineers pinpoint root causes of issues such as:

  • Power level mismatch

  • Frequency or phase instability

  • IQ imbalance or DC offsets

  • Timing or synchronization errors

  • Spectral impurities

    Compare transmitted and received amplitudes to locate where power loss or distortion occurs

  • View the frequency-domain spectrum to identify frequency offset, carrier leakage, or LO drift.

Local harddisk PNM file output

router# dir harddisk:/pnm                                     
Directory of harddisk:/pnm/

10420232  -rw-            33595  Oct 27 2025 07:40:26 -03:00  aq_probe_c6_0_0_u6_494958_active.dat
10420227  -rw-            66363  Oct 23 2025 05:32:41 -03:00  aq_probe_c6_0_0_u7_494959_quiet.dat

router# $be filename harddisk:/pnm/aq_probe_c6_0_0_u6_494958_active.dat
PNM AQ-Probe File: harddisk:/pnm/aq_probe_c6_0_0_u6_494958_active.dat

           File Type : 0x504E4E66
           Major_Ver : 3
           Minor_Ver : 0
        Capture Time : 1761561663 secs
             ifIndex : 494958
             CCAP-ID : CBR-DEV07-P15
              RPD ID : F4DB.E6CD.D8DA
            RPD port : 0
              CM mac : B42A.0E85.4339
     SC0 Center Freq : 37000000
          SC Spacing : 25 kHz
      Excl SC Length : 512
0x0000  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFF000  00000000  00000000  00000000  
...
0x01E0  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  FFFFFFFF  
 Capture Data Length : 32768
              Pre-Eq : 1
       Cyclic Prefix : 0
             Rolloff : 0
    First Sample Idx : 148
         Freq Domain : 1
            Probe-IE : 00100000
           Timestamp : 0000000049BBC8F5