[ LiB ]Scenarios Practical Exercise: The CMTS and DOCSIS-Compliant Bridging Cable Modem Configuration

Basic Cable Modem Troubleshooting Using Cisco IOS Software Commands

This section covers some of the useful commands used to perform troubleshooting in Cisco CMTS and cable modems. It also goes into detail about the cable modem initialization sequences and the corresponding status in CMTS.

Basic CMTS Troubleshooting

The Cisco uBR7200 series universal broadband routers maintain a database of flapping cable modems to assist in locating cable plant problems. It tracks the upstream and downstream performance of all DOCSIS-compliant cable modems on the network. Information such as MAC address, up and down transitions, registration events, missed periodic ranging packets, upstream power adjustments, and the physical interface on the Cisco uBR7200 series is maintained in the flap list. Please note that the flap list doesn't affect throughput and incur additional overhead on the network. Cable modems are automatically added to the flap list when any of the following conditions are detected:

Example 4-17 displays the sample output of the show cable flap-list command. Table 4-5 explains the flap list fields.

Example 4-17. Cable Flap List Output
uBR7246#show cable flap-list
MAC Address     Upstream     Ins   Hit   Miss  CRC   P-Adj Flap  Time
0020.4077.7e0c  Cable3/0/U0  147   7080  2499  0     0     293   Aug 10 04:53:30
0020.4077.2be0  Cable3/0/U0  83    7125  1619  0     0     169   Aug 10 04:13:15
0020.4076.d31e  Cable3/0/U0  82    7182  1391  0     0     164   Aug 10 04:07:02
0020.4077.2bfe  Cable3/0/U0  57    7216  977   0     0     116   Aug 10 03:30:11

Table 4-5. Explanation of Flap List Fields

Column

Description

MAC Address

The MAC-layer address of a cable modem. It is used to identify the subscribers.

Upstream

The physical upstream interface in the Cisco uBR7200 series. In Example 4-17, the statistic is for a cable modem card in slot 3 and upstream port 0.

Ins

The flapping modem's insertion count. This counts the number of times the RF link was abnormally reestablished. This count can indicate the following:

- Intermittent downstream sync loss

- DHCP or modem registration problems

Hit

Contains keepalive polling statistics. The link is kept alive using station maintenance intervals. The station maintenance process occurs for every modem about every 25 seconds. When the CMTS receives a response from the cable modem, the event is counted as a hit. Otherwise, the event is counted as a miss. The hit counts should be much greater than the miss counts.

Miss

Contains keepalive polling statistics. High miss counts can indicate the following:

- Intermittent upstream because of noise

- Laser clipping

- Too much or too little upstream attenuation

- Common-path distortion

CRC

CRC errors usually indicate noise on a plant. They can indicate the following:

- Intermittent upstream because of noise

- Laser clipping

- Impulsive noise or interference

- Common-path distortion

P-Adj

Indicates the number of times the modem power adjustment exceeded the threshold value. This count can indicate the following:

- Amplifier degradation

- Poor connection

- Attenuation problem

- Thermal sensitivity

Flap

Indicates the number of times the modem has flapped.

Time

The time stamp indicating the last time the modem flapped.


The show cable modem command, shown in Example 4-18, is the most useful command for the CMTS. This command displays information on all cable modems or a particular cable modem on the network.

Example 4-18. Format and Sample Output for the show cable modem Command
uBR7246#show cable modem
Interface   Prim Online    Timing Rec    QoS CPE IP address      MAC address
            Sid  State     Offset Power
Cable3/0/U0 1    online    2808    0.00  5   0   30.30.30.9      0007.0e02.c9ed
Cable3/0/U0 2    online    2811    0.00  5   0   30.30.30.10     0003.e3a6.84a1
Cable3/0/U0 3    online    2811    0.00  5   0   30.30.30.7      0007.0e02.cae1
Cable3/0/U0 4    online    2809    0.00  5   0   30.30.30.8      0002.b94a.22a7

Table 4-6 lists messages on the CMTS. It shows the different stages of cable modem registration. On the CM side, you can use show controllers cable-modem 0 mac state and look at the MAC state field. debug cable-modem mac log is another useful command on the CM side to capture the CM startup sequences.

Table 4-6. Various CM Statuses When Entering show cable-modem

Message

Description

offline

The modem is considered offline

init(r1)

The modem sent initial ranging

init(r2)

The modem is ranging

init(rc)

Ranging is complete

init(d)

A DHCP request was received

init(i)

A DHCP reply was received, and an IP address was assigned

init(t)

A ToD request was received

init(o)

A TFTP request was received

online

The modem was registered and enabled for data

online(d)

The modem was registered, but network access for the CM is disabled

online(pk)

The modem was registered, BPI was enabled, and KEK was assigned

online(pt)

The modem was registered, BPI was enabled, and TEK was assigned

reject(m)

The cable modem attempted to register, but registration was refused because of a bad Message Integrity Check (MIC)

reject(c)

The cable modem attempted to register, but registration was refused because of a bad class of service (CoS)

reject(pk)

The KEK modem key assignment was rejected

reject(pt)

The TEK modem key assignment was rejected


The ping docsis command, shown in Example 4-19, allows you to quickly diagnose the health of a channel between the Cisco uBR7200 series routers and the cable interface. This command allows you to ping the MAC addresses of the CMs before the registration is complete. In other words, you can use this command to ping CMs that do not have an IP address. The syntax of ping docsis is as follows:



uBR7246#ping docsis {IP Address | MAC Address}

Example 4-19. ping docsis Command
uBR7246#ping docsis 0007.0e02.c9ed
Queueing 5 MAC-layer station maintenance intervals, timeout is 25 msec:
!!!!!
Success rate is 100 percent (5/5)

Basic CM Troubleshooting

Message CRC failures, header CRC failures, sync losses, and pulse losses indicate downstream noise, as shown in Example 4-20. Rerequest is useful information for upstream debugging. You can use show interface cable-modem 0 counters to display this information.

Example 4-20. Displaying Cable Modem-Specific Counters
cable-modem#show interface cable-modem 0 counters

Cable specific counters:
Ranging requests sent  : 28176
Downstream FIFO full   : 0
Re-requests            : 0
DS MAC Message Overruns: 0
DS Data Overruns       : 0
Received MAPs          : 83089626
Received Syncs         : 17589748
Message CRC failures   : 0
Header CRC failures    : 0
Data PDUs              : 318963
DS MAC messages        : 100936055
Valid Headers          : 101237079
Sync losses            : 0
Pulse losses           : 0
BW request failures    : 0
Max TX Rate (pps)      : 0
Max RX Rate (pps)      : 0
ACK table collisions   : 0
ACKs defered           : 0
ACKs dropped           : 0
Packets Concatenated   : 0
Paks not Concatenated  : 17957
Multiple Concatenations: 0

Example 4-21 demonstrates another useful commandshow controllers cable-modem. Notice that the signal-to-noise ratio (SNR) must be greater than the threshold for the CM to operate properly. In Example 4-21, the SNR is 32.8 dB.

Example 4-21. Cable Modem's MAC State and SNR Information
cable-modem#show controllers cable-modem 0

BCM Cable interface 0:
CM unit 0, idb 0x80BF7B08, ds 0x80BF9800, regaddr = 0x2700000, reset_mask 0x80
station address 0003.e3a6.84a1  default station address 0003.e3a6.84a1
PLD VERSION: 1
Concatenation: ON Max bytes Q0: 1600 Q1: 2000 Q2: 2000 Q3: 2000
MAC State is maintenance_state, Prev States = 15
MAC mcfilter 01E02F00  data mcfilter 00000000

MAC extended header ON
DS: BCM 3300 Receiver: Chip id = BCM3300
US: BCM 3300 Transmitter: Chip id = 3300

Tuner: status=0x00
Rx: tuner_freq 459000000, symbol_rate 5056000, local_freq 11520000
    snr_estimate 328(TenthdB), ber_estimate 0, lock_threshold 26000
    QAM in lock, FEC in lock, qam_mode QAM_64   (Annex B)
Tx: tx_freq 29008112, symbol rate 8 (1280000 sym/sec)
     power_level: 9.0 dBmV (commanded)
                  58  (gain in US AMP units)
                  60  (BCM3300 attenuation in .4 dB units)

The show controllers cable-modem 0 mac state command, shown in Example 4-22, summarizes the state of the cable MAC layer. The normal operational state of the interface is maintenance_ state. This command gives you most of the information you need about the cable modem's status.

Example 4-22. Partial Output of the show controllers cable-modem 0 mac state Command
cable-modem#show controllers cable-modem 0 mac state

MAC State:                  maintenance_state
Ranging SID:                352
Registered:                 TRUE
Privacy Established:        FALSE
...

Cable Modem Initialization Process

This section discusses the events during the registration process of a DOCSIS cable modem. You can view these events on the Cisco CM console port by entering the debug cable-modem mac log command. You can view the corresponding events on the CMTS by using the show cable modem command. Refer to Table 4-6 for explanations of each event that occurs on the CMTS. Examples 4-23 through 4-32 display each event of the CM initialization process.

Event 1: Scanning for a Downstream Channel and Establishing Synchronization with the CMTS

In Example 4-23, the cable modem acquires a downstream channel from the CMTS, saves the last operational frequency in nonvolatile memory, and tries to reacquire the saved downstream channel the next time a request is made.

Example 4-23. CM Begins a Downstream Scan
CMAC_LOG_STATE_CHANGE                       ds_channel_scanning_state
CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND      99/805790200/997799800/6000300
CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND      98/601780000/799789900/6000300
CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND      97/403770100/595779700/6000300
CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND      96/73753600/115755700/6000300
CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND      95/217760800/397769800/6000300
CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND      94/121756000/169758400/6000300
CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND      93/175758700/211760500/6000300
CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND      92/79753900/85754200/6000300
CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND      91/55752700/67753300/6000300
CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND      90/177000000/213000000/6000000
CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND      89/219000000/225000000/6000000
CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND      88/141000000/171000000/6000000
CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND      87/135012500/135012500/6000000
CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND      86/123012500/129012500/6000000
CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND      85/405000000/447000000/6000000
CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND      84/339012500/399012500/6000000
CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND      83/333025000/333025000/6000000
CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND      82/231012500/327012500/6000000
CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND      81/111025000/117025000/6000000
CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND      80/93000000/105000000/6000000
CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND      79/453000000/855000000/6000000
CMAC_LOG_WILL_SEARCH_SAVED_DS_FREQUENCY     459000000
CMAC_LOG_UCD_MSG_RCVD                       1
CMAC_LOG_DS_64QAM_LOCK_ACQUIRED             459000000
CMAC_LOG_DS_CHANNEL_SCAN_COMPLETED

Event 2: Obtaining Upstream Channel Parameters

In Example 4-24, the cable modem waits for an upstream channel descriptor (UCD) message from the CMTS. This is done to retrieve transmission parameters for the upstream channel.

Example 4-24. CM Begins Identifying the Upstream Parameters
CMAC_LOG_STATE_CHANGE                       wait_ucd_state
CMAC_LOG_UCD_MSG_RCVD                       1
CMAC_LOG_UCD_MSG_RCVD                       1
CMAC_LOG_ALL_UCDS_FOUND
CMAC_LOG_STATE_CHANGE                       wait_map_state
CMAC_LOG_FOUND_US_CHANNEL                   1
CMAC_LOG_UCD_MSG_RCVD                       1
CMAC_LOG_UCD_NEW_US_FREQUENCY               38992000
CMAC_LOG_SLOT_SIZE_CHANGED                  8
CMAC_LOG_UCD_UPDATED
CMAC_LOG_ADJUST_RANGING_OFFSET              -74
CMAC_LOG_RANGING_OFFSET_SET_TO              12276
CMAC_LOG_MAP_MSG_RCVD

Event 3: Starting Ranging for Power Adjustments

The ranging process adjusts the cable modem's transmit power. In Example 4-25, the cable modem performs ranging in stages, ranging state 1 and ranging state 2.

Example 4-25. CM Enters the Ranging 1 and Ranging 2 States
CMAC_LOG_INITIAL_RANGING_MINISLOTS             40
CMAC_LOG_STATE_CHANGE                          ranging_1_state  <--- init(r1)
CMAC_LOG_RANGING_OFFSET_SET_TO                 9610
CMAC_LOG_POWER_LEVEL_IS                        28.0 dBmV (commanded)
CMAC_LOG_STARTING_RANGING
CMAC_LOG_RANGING_BACKOFF_SET                   0
CMAC_LOG_RNG_REQ_QUEUED                        0
CMAC_LOG_RNG_REQ_TRANSMITTED
CMAC_LOG_RNG_RSP_MSG_RCVD
CMAC_LOG_RNG_RSP_SID_ASSIGNED                  2
CMAC_LOG_ADJUST_RANGING_OFFSET                 2408
CMAC_LOG_RANGING_OFFSET_SET_TO                 12018
CMAC_LOG_ADJUST_TX_POWER 20
CMAC_LOG_POWER_LEVEL_IS                        33.0 dBmV (commanded)
CMAC_LOG_STATE_CHANGE                          ranging_2_state    <--- init(r2)
CMAC_LOG_RNG_REQ_QUEUED                        2
CMAC_LOG_RNG_REQ_TRANSMITTED
CMAC_LOG_RNG_RSP_MSG_RCVD
CMAC_LOG_ADJUST_RANGING_OFFSET                 -64
CMAC_LOG_RANGING_OFFSET_SET_TO                 11954
CMAC_LOG_RANGING_CONTINUE
CMAC_LOG_RNG_REQ_TRANSMITTED
CMAC_LOG_RNG_RSP_MSG_RCVD
CMAC_LOG_ADJUST_TX_POWER                       -9
CMAC_LOG_POWER_LEVEL_IS                        31.0 dBmV (commanded)
CMAC_LOG_RANGING_CONTINUE
CMAC_LOG_RNG_REQ_TRANSMITTED
CMAC_LOG_RNG_RSP_MSG_RCVD
CMAC_LOG_RANGING_SUCCESS                       <--- init(rc)

Event 4: Establishing IP Connectivity

In Example 4-26, the cable modem invokes DHCP requests to obtain an IP address, which is needed for IP connectivity. The DHCP request also includes the name of a file that contains additional configuration parameters, the TFTP server's address, and the ToD server's address.

Example 4-26. CM Enters the DHCP State
CMAC_LOG_STATE_CHANGE                          dhcp_state  <--- init(d)
CMAC_LOG_DHCP_ASSIGNED_IP_ADDRESS              188.188.1.62
CMAC_LOG_DHCP_TFTP_SERVER_ADDRESS              4.0.0.1
CMAC_LOG_DHCP_TOD_SERVER_ADDRESS               4.0.0.32
CMAC_LOG_DHCP_SET_GATEWAY_ADDRESS
CMAC_LOG_DHCP_TZ_OFFSET                        360
CMAC_LOG_DHCP_CONFIG_FILE_NAME                 platinum.cm
CMAC_LOG_DHCP_ERROR_ACQUIRING_SEC_SVR_ADDR
CMAC_LOG_DHCP_COMPLETE                         <--- init(i)

Event 5: Establishing the Time of Day

In Example 4-27, the Cisco cable modem accesses the ToD server for the current date and time, which are used to create time stamps for logged events such as those displayed in the MAC log file.

Example 4-27. CM Enters the Time of Day State
CMAC_LOG_STATE_CHANGE                  establish_tod_state  <--- init(t)
CMAC_LOG_TOD_REQUEST_SENT
CMAC_LOG_TOD_REPLY_RECEIVED            3234813212
CMAC_LOG_TOD_COMPLETE

Event 6: Establishing Security

Keys for privacy are exchanged between the cable modem and the CMTS. In Example 4-28, the CM enters bypass security state. It is not defined for DOCSIS 1.0, but it will be fully defined by DOCSIS 1.1.

Example 4-28. CM Enters the Bypass Security State
CMAC_LOG_STATE_CHANGE                        security_association_state
CMAC_LOG_SECURITY_BYPASSED

Event 7: Establishing the TFTP

After the DHCP and security operations are successful, in Example 4-29, the cable modem downloads operational parameters from a configuration file stored on a cable company's TFTP server.

Example 4-29. CM Enters the TFTP State
CMAC_LOG_STATE_CHANGE                          configuration_file_state
CMAC_LOG_LOADING_CONFIG_FILE                   platinum.cm
CMAC_LOG_CONFIG_FILE_PROCESS_COMPLETE          <--- init(o)

Event 8: Performing Registration

In Example 4-30, the cable modem registers with the CMTS. The cable modem is authorized to forward traffic to the cable network after the cable modem is initialized, authenticated, and configured.

Example 4-30. CM Enters the Registration State
CMAC_LOG_STATE_CHANGE                       registration_state
CMAC_LOG_REG_REQ_MSG_QUEUED
CMAC_LOG_RNG_REQ_TRANSMITTED
CMAC_LOG_RNG_RSP_MSG_RCVD
CMAC_LOG_REG_REQ_TRANSMITTED
CMAC_LOG_REG_RSP_MSG_RCVD
CMAC_LOG_COS_ASSIGNED_SID                   1/3
CMAC_LOG_RNG_REQ_QUEUED                     3
CMAC_LOG_REGISTRATION_OK

Event 9: Establishing Baseline Privacy

Link-level encryption keys are exchanged between the CMTS and the cable modem. In Example 4-31, baseline privacy has not been configured.

Example 4-31. CM Begins the Baseline Privacy Process
CMAC_LOG_STATE_CHANGE                       establish_privacy_state
CMAC_LOG_PRIVACY_NOT_CONFIGURED

Event 10: Entering the Operational Maintenance State

As soon as the cable modem is completely up and running, it enters operational maintenance state, as shown in Example 4-32.

Example 4-32. CM Enters the Operational State
CMAC_LOG_STATE_CHANGE                     maintenance_state <--- online

[ LiB ]Scenarios Practical Exercise: The CMTS and DOCSIS-Compliant Bridging Cable Modem Configuration