| [ LiB ] |
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.
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:
When the cable modem reregisters more frequently than the user-specified insertion time. The default cable flap list insertion time is set to 180 seconds.
When intermittent keepalive messages are detected between the CMTS and the CM. The default cable flap list miss threshold is set to 6 seconds.
When the CM upstream transmit power is adjusted beyond the user-specified power threshold. The default cable flap list power adjust is set to 2 dB.
Example 4-17 displays the sample output of the show cable flap-list command. Table 4-5 explains the flap list fields.
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
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:
|
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:
|
CRC | CRC errors usually indicate noise on a plant. They can indicate the following:
|
P-Adj | Indicates the number of times the modem power adjustment exceeded the threshold value. This count can indicate the following:
|
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.
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.
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}
uBR7246#ping docsis 0007.0e02.c9ed
Queueing 5 MAC-layer station maintenance intervals, timeout is 25 msec:
!!!!!
Success rate is 100 percent (5/5)
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.
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.
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.
cable-modem#show controllers cable-modem 0 mac state MAC State: maintenance_state Ranging SID: 352 Registered: TRUE Privacy Established: FALSE ...
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.
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.
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
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.
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
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.
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)
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.
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)
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.
CMAC_LOG_STATE_CHANGE establish_tod_state <--- init(t) CMAC_LOG_TOD_REQUEST_SENT CMAC_LOG_TOD_REPLY_RECEIVED 3234813212 CMAC_LOG_TOD_COMPLETE
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.
CMAC_LOG_STATE_CHANGE security_association_state
CMAC_LOG_SECURITY_BYPASSED
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.
CMAC_LOG_STATE_CHANGE configuration_file_state CMAC_LOG_LOADING_CONFIG_FILE platinum.cm CMAC_LOG_CONFIG_FILE_PROCESS_COMPLETE <--- init(o)
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.
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
Link-level encryption keys are exchanged between the CMTS and the cable modem. In Example 4-31, baseline privacy has not been configured.
CMAC_LOG_STATE_CHANGE establish_privacy_state
CMAC_LOG_PRIVACY_NOT_CONFIGURED
As soon as the cable modem is completely up and running, it enters operational maintenance state, as shown in Example 4-32.
CMAC_LOG_STATE_CHANGE maintenance_state <--- online
| [ LiB ] |