Table Of Contents
Troubleshooting Tips for the Cisco uBR904 Cable Modem
Feature Summary
Benefits
List of Terms
Platforms
Prerequisites
Supported MIBs and RFCs
CMTS to Cable Modem Network Topology
Troubleshooting Steps
Step 1—Understand How Basic Initialization Works
Step 2—Connect to the Cable Modem
Step 3—Display the Cable Modem's MAC Log File
Step 4—Interpret the MAC Log File and Take Action
Step 5—Use Additional Troubleshooting Commands
Command Reference
show controllers cable-modem
Syntax Description
Command Mode
Usage Guidelines
Examples
Related Commands
show controllers cable-modem bpkm
Syntax Description
Command Mode
Usage Guidelines
Examples
Related Commands
show controllers cable-modem des
Syntax Description
Command Mode
Usage Guidelines
Examples
Related Commands
show controllers cable-modem filters
Syntax Description
Command Mode
Usage Guidelines
Examples
Related Commands
show controllers cable-modem lookup-table
Syntax Description
Command Mode
Usage Guidelines
Examples
Related Commands
show controllers cable-modem mac
Syntax Description
Command Mode
Usage Guidelines
Example 1
Example 2
Example 3
Example 4
Example 5
Related Commands
show controllers cable-modem phy
Syntax Description
Command Mode
Usage Guidelines
Examples
Related Commands
show controllers cable-modem tuner
Syntax Description
Command Mode
Usage Guidelines
Examples
Related Commands
Debug Commands
debug cable-modem bpkm
Syntax Description
Command Mode
Usage Guidelines
Examples
Related Commands
debug cable-modem bridge
Syntax Description
Command Mode
Usage Guidelines
Examples
Related Commands
debug cable-modem error
Syntax Description
Command Mode
Usage Guidelines
Examples
Related Commands
debug cable-modem interrupts
Syntax Description
Command Mode
Usage Guidelines
Examples
Related Commands
debug cable-modem mac
Syntax Description
Command Mode
Usage Guidelines
Examples
Related Commands
debug cable-modem map
Syntax Description
Command Mode
Usage Guidelines
Examples
Related Commands
What to do Next
Troubleshooting Tips for the Cisco uBR904 Cable Modem
The following sections are provided:
•
Feature Summary
•
Platforms
•
Supported MIBs and RFCs
•
CMTS to Cable Modem Network Topology
•
Troubleshooting Steps
•
Command Reference
•
Debug Commands
•
What to do Next
Feature Summary
This document describes the set of Cisco IOS troubleshooting commands that may be used by multiple service operators (MSOs) to verify communication between a Cisco uBR904 cable modem and other peripheral devices installed in the HFC network such as the headend Cisco uBR7246 router, a DHCP server, and a TFTP server.
Note
For an explanation of error messages displayed by the uBR904, see Cisco Cable CPE Error Messages, viewable online at www.cisco.com/univercd/cc/td/doc/product/cable/cab_modm/ubcmerrs.pdf .
Benefits
The uBR904 troubleshooting system provides the following benefits:
•
A MAC-layer system log file exists which provides a snapshot of detailed reasons why an interface might reset, along with all the negotiations that occurred between the uBR904 cable modem and the CMTS (a Cisco uBR7246 positioned at the headend). Over 220 possible description fields exist in this log, which is displayed using the show controllers cable-modem 0 mac log command from privileged EXEC mode.
•
Debug does not need to be turned on to troubleshoot a uBR904 cable modem.
•
The progression of normal data-over-cable communication events is clearly explained, simplifying the resolution of faulty system connections.
•
A cable technician can remotely telnet into a Cisco uBR904 cable modem, which could be installed in a customer's home, and perform simple diagnostic tasks.
List of Terms
CATV—Originally stood for Community Antenna Television. Now refers to any coaxial or fiber cable-based system that provides television services.
Cable modem (CM)—Any device that modulates and demodulates digital data onto a CATV plant.
Cable router—A modular chassis-based router optimized for data-over-CATV hybrid fiber-coaxial (HFC) applications.
Channel—A specific frequency allocation and bandwidth. Downstream channels used for television in the United States are 6 MHz wide.
CM—Cable modem.
CMTS—Cable Modem Termination System. Any DOCSIS-compliant headend cable router, such as the Cisco uBR7246.
DHCP—Dynamic Host Configuration Protocol. This protocol provides a mechanism for allocating IP addresses dynamically so that addresses can be reused when hosts no longer need them.
DOCSIS—Data Over Cable Service Interface Specification. Defines technical specifications for equipment at both subscriber locations and cable operators' headends.
Downstream—The set of frequencies used to send data from a headend to a subscriber.
Headend—Central distribution point for a CATV system. Video signals are received here from satellite (either co-located or remote), frequency converted to the appropriate channels, combined with locally originated signals, and rebroadcast onto the HFC plant. For a CATV data system, the headend is the typical place to create a link between the HFC system and any external data networks.
HFC—Hybrid fiber-coaxial (cable network). Older CATV systems were provisioned using only coaxial cable. Modern systems use fiber transport from the headend to an optical node located in the neighborhood to reduce system noise. Coaxial cable runs from the node to the subscriber. The fiber plant is generally a star configuration with all optical node fibers terminating at a headend. The coaxial cable part of the system is generally a trunk-and-branch configuration.
Host—Any end-user computer system that connects to a network. In this document, the term host refers to the computer system connected to the LAN interface of the cable modem.
MAC layer—Media Access Control sublayer. Controls access by the cable modem to the CMTS and to the upstream data slots.
MCNS—Multimedia Cable Network System Partners Ltd. A consortium of cable companies providing service to the majority of homes in the United States and Canada. This consortium has decided to drive a standard with the goal of having interoperable cable modems.
MSO—Multiple Service Operator. A cable service provider that also provides other services such as data and/or voice telephony.
QAM—Quadrature Amplitude Modulation. A method of modulating digital signals onto a radio-frequency carrier signal involving both amplitude and phase coding. QAM is a modulation scheme mostly used in the downstream direction (QAM-64, QAM-256). QAM-16 is expected to be usable in the upstream direction. Numbers indicate number of code points per symbol. The QAM rate or the number of points in the QAM constellation can be computed by 2 raised to the power of <number of bits/symbol>.
QPSK—Quadrature Phase-Shift Keying. A method of modulating digital signals onto a radio-frequency carrier signal using four phase states to code two digital bits.
Ranging—The process of acquiring the correct timing offset such that the transmissions of a cable modem are aligned with the correct mini-slot boundary.
SID (Service ID)—A number that defines (at the MAC sublayer) a particular mapping between a cable modem (CM) and the CMTS. The SID is used for the purpose of upstream bandwidth allocation and class-of-service management.
Subscriber Unit (SU)—An alternate term for cable modem. See cable modem.
Upstream—The set of frequencies used to send data from a subscriber to the headend.
Platforms
The uBR904 cable modem is a standalone device; it works in conjunction with the Cisco uBR7246 universal broadband router.
Prerequisites
See the companion to this document, "Bridging and Routing Features for the Cisco uBR904 Cable Modem" for information regarding prerequisites.
Supported MIBs and RFCs
See the companion to this document, "Bridging and Routing Features for the Cisco uBR904 Cable Modem" for information regarding supported MIBs and RFCs.
CMTS to Cable Modem Network Topology
shows the physical relationship between the devices in the HFC network and the cable modem.
Figure 1 Sample Topology
Troubleshooting Steps
To troubleshoot a malfunctioning cable modem, perform the following tasks:
•
Step 1—Understand How Basic Initialization Works
•
Step 2—Connect to the Cable Modem
•
Step 3—Display the Cable Modem's MAC Log File
•
Step 4—Interpret the MAC Log File and Take Action
•
(Optional) Step 5—Use Additional Troubleshooting Commands
Step 1—Understand How Basic Initialization Works
Before you troubleshoot a Cisco uBR904 cable modem, you should be familiar with the cable modem initialization process. See and . Understanding this flowchart and sequence of events will help you determine where and why connections fail.
The sequence numbers shown in are explained in , which appears after the illustration. The cable modem will complete all the steps in this flowchart each time it needs to reestablish ranging and registration with the CMTS.
Figure 2 Cable Modem Initialization Flowchart
.
Table 1 Cable Modem Initialization Sequences and Events
Sequence
|
Event
|
Description
|
1
|
Scan for a downstream channel and establish synchronization with the headend Cisco uBR7246.
|
The cable modem acquires a downstream channel from the headend, saves the last operational frequency in non-volatile memory, and tries to reacquire the saved downstream channel the next time a request is made.
An ideal downstream signal is one that synchronizes QAM symbol timing, FEC framing, MPEG packetization, and recognizes downstream sync MAC layer messages.
|
2
|
Obtain upsteam channel parameters.
|
The cable modem waits for an upstream channel descriptor (UCD) message from the headend Cisco uBR7246. This is done to retrieve transmission parameters for the upstream channel.
|
3
|
Start ranging for power adjustments.
|
The ranging process adjusts the cable modem's transmit power. The cable modem performs ranging in two stages: ranging state 1 and ranging state 2.
|
4
|
Establish IP connectivity.
|
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 Time of Day (TOD) server's address.
|
5
|
Establish the time of day.
|
The cable modem accesses the TOD server for the current date and time, which is used to create time stamps for logged events (such as those displayed in the MAC log file).
|
6
|
Establish security.
|
Keys for privacy are exchanged between the cable modem and the headend Cisco uBR7246.
|
7
|
Transfer operational parameters.
|
After the DHCP and security operations are successful, the cable modem downloads operational parameters from a configuration file stored on the cable company's TFTP server.
|
8
|
Perform registration.
|
The cable modem registers with the headend Cisco uBR7246. The cable modem is authorized to forward traffic into the cable network after the cable modem is initialized, authenticated, and configured.
Note The Cisco uBR904 cable modem supports baseline privacy in Cisco IOS Release 11.3(5)NA and later, and in Cisco IOS Release 12.0(2)XC and later.
|
9
|
Comply with baseline privacy.
|
Link level encryption keys are exchanged between the headend and the cable modem.
|
10
|
Enter the operational maintenance state.
|
As soon as the cable modem has successfully completed the above sequence, it enters operational maintenance state.
|
Step 2—Connect to the Cable Modem
Telnet to the IP address assigned to the cable interface or Ethernet interface. If the interface is not up, you need to access the Cisco IOS software via the RJ-45 console port, which is a physical port on the back of the cable modem.
Because the MAC log file only holds a snapshot of 1023 entries at a time, you should try to display the cable modem's log file within 5 minutes after the reset or problem occurs.
Step 3—Display the Cable Modem's MAC Log File
A MAC-layer circular log file is stored inside the cable modem. This file contains the most valuable information for troubleshooting the cable interface: a history of the log messages such as state event activities and timestamps.
The MAC log file is displayed by entering the show controllers cable-modem 0 mac log command from privileged EXEC mode.
The most useful display fields in this log file are the reported state changes. These fields are preceded by the message CMAC_LOG_STATE_CHANGE. These fields show how the cable modem progresses through the various processes involved in establishing communication and registration with the CMTS. The maintenance_state is the normal operational state, and the wait_for_link_up_state is the normal state when the interface is shut down.
The following is the normal progression of states as displayed by the MAC log:
ds_channel_scanning_state
security_association_state
Note
To translate this output into more meaningful information, see "Step 4—Interpret the MAC Log File and Take Action" on page 10.
Following is an example of what the MAC log file looks like when the cable modem interface successfully comes up and registers with the CMTS. The output you see is directly related to the messages that are exchanged between the cable modem and the headend Cisco uBR7246.
uBR904# show controllers cable-modem 0 mac log
508144.340 CMAC_LOG_DRIVER_INIT_IDB_RESET 0x08098FEA
508144.342 CMAC_LOG_LINK_DOWN
508144.344 CMAC_LOG_LINK_UP
508144.348 CMAC_LOG_STATE_CHANGE ds_channel_scanning_state
508144.350 CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND 88/453000000/855000000/6000000
508144.354 CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND 89/93000000/105000000/6000000
508144.356 CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND 90/111250000/117250000/6000000
508144.360 CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND 91/231012500/327012500/6000000
508144.362 CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND 92/333015000/333015000/6000000
508144.366 CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND 93/339012500/399012500/6000000
508144.370 CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND 94/405000000/447000000/6000000
508144.372 CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND 95/123015000/129015000/6000000
508144.376 CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND 96/135012500/135012500/6000000
508144.380 CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND 97/141000000/171000000/6000000
508144.382 CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND 98/219000000/225000000/6000000
508144.386 CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND 99/177000000/213000000/6000000
508144.390 CMAC_LOG_WILL_SEARCH_SAVED_DS_FREQUENCY 699000000
508145.540 CMAC_LOG_UCD_MSG_RCVD 3
508146.120 CMAC_LOG_DS_64QAM_LOCK_ACQUIRED 699000000
508146.122 CMAC_LOG_DS_CHANNEL_SCAN_COMPLETED
508146.124 CMAC_LOG_STATE_CHANGE wait_ucd_state
508147.554 CMAC_LOG_UCD_MSG_RCVD 3
508147.558 CMAC_LOG_UCD_NEW_US_FREQUENCY 20000000
508147.558 CMAC_LOG_SLOT_SIZE_CHANGED 8
508147.622 CMAC_LOG_FOUND_US_CHANNEL 1
508147.624 CMAC_LOG_STATE_CHANGE wait_map_state
508148.058 CMAC_LOG_MAP_MSG_RCVD
508148.060 CMAC_LOG_INITIAL_RANGING_MINISLOTS 40
508148.062 CMAC_LOG_STATE_CHANGE ranging_1_state
508148.064 CMAC_LOG_RANGING_OFFSET_SET_TO 9610
508148.066 CMAC_LOG_POWER_LEVEL_IS 28.0 dBmV (commanded)
508148.068 CMAC_LOG_STARTING_RANGING
508148.070 CMAC_LOG_RANGING_BACKOFF_SET 0
508148.072 CMAC_LOG_RNG_REQ_QUEUED 0
508148.562 CMAC_LOG_RNG_REQ_TRANSMITTED
508148.566 CMAC_LOG_RNG_RSP_MSG_RCVD
508148.568 CMAC_LOG_RNG_RSP_SID_ASSIGNED 2
508148.570 CMAC_LOG_ADJUST_RANGING_OFFSET 2408
508148.572 CMAC_LOG_RANGING_OFFSET_SET_TO 12018
508148.574 CMAC_LOG_ADJUST_TX_POWER 20
508148.576 CMAC_LOG_POWER_LEVEL_IS 33.0 dBmV (commanded)
508148.578 CMAC_LOG_STATE_CHANGE ranging_2_state
508148.580 CMAC_LOG_RNG_REQ_QUEUED 2
508155.820 CMAC_LOG_RNG_REQ_TRANSMITTED
508155.824 CMAC_LOG_RNG_RSP_MSG_RCVD
508155.826 CMAC_LOG_ADJUST_RANGING_OFFSET -64
508155.826 CMAC_LOG_RANGING_OFFSET_SET_TO 11954
508155.828 CMAC_LOG_RANGING_CONTINUE
508165.892 CMAC_LOG_RNG_REQ_TRANSMITTED
508165.894 CMAC_LOG_RNG_RSP_MSG_RCVD
508165.896 CMAC_LOG_ADJUST_TX_POWER -9
508165.898 CMAC_LOG_POWER_LEVEL_IS 31.0 dBmV (commanded)
508165.900 CMAC_LOG_RANGING_CONTINUE
508175.962 CMAC_LOG_RNG_REQ_TRANSMITTED
508175.964 CMAC_LOG_RNG_RSP_MSG_RCVD
508175.966 CMAC_LOG_RANGING_SUCCESS
508175.968 CMAC_LOG_STATE_CHANGE dhcp_state
508176.982 CMAC_LOG_DHCP_ASSIGNED_IP_ADDRESS 188.188.1.62
508176.984 CMAC_LOG_DHCP_TFTP_SERVER_ADDRESS 4.0.0.1
508176.986 CMAC_LOG_DHCP_TOD_SERVER_ADDRESS 4.0.0.32
508176.988 CMAC_LOG_DHCP_SET_GATEWAY_ADDRESS
508176.988 CMAC_LOG_DHCP_TZ_OFFSET 360
508176.990 CMAC_LOG_DHCP_CONFIG_FILE_NAME platinum.cm
508176.992 CMAC_LOG_DHCP_ERROR_ACQUIRING_SEC_SVR_ADDR
508176.996 CMAC_LOG_DHCP_COMPLETE
508177.120 CMAC_LOG_STATE_CHANGE establish_tod_state
508177.126 CMAC_LOG_TOD_REQUEST_SENT
508177.154 CMAC_LOG_TOD_REPLY_RECEIVED 3107617539
508177.158 CMAC_LOG_TOD_COMPLETE
508177.160 CMAC_LOG_STATE_CHANGE security_association_state
508177.162 CMAC_LOG_SECURITY_BYPASSED
508177.164 CMAC_LOG_STATE_CHANGE configuration_file_state
508177.166 CMAC_LOG_LOADING_CONFIG_FILE platinum.cm
508178.280 CMAC_LOG_CONFIG_FILE_PROCESS_COMPLETE
508178.300 CMAC_LOG_STATE_CHANGE registration_state
508178.302 CMAC_LOG_REG_REQ_MSG_QUEUED
508178.306 CMAC_LOG_REG_REQ_TRANSMITTED
508178.310 CMAC_LOG_REG_RSP_MSG_RCVD
508178.312 CMAC_LOG_COS_ASSIGNED_SID 1/2
508178.314 CMAC_LOG_RNG_REQ_QUEUED 2
508178.316 CMAC_LOG_REGISTRATION_OK
508178.318 CMAC_LOG_STATE_CHANGE establish_privacy_state
508178.320 CMAC_LOG_NO_PRIVACY
508178.322 CMAC_LOG_STATE_CHANGE maintenance_state
You can display other aspects of the MAC layer by using variations of the show controllers cable-modem 0 mac command:
uBR904# show controllers cable-modem 0 mac ?
errors Mac Error Log data
hardware All CM Mac Hardware registers
For examples and descriptions of how to use these keywords, see the show controllers cable-modem mac command reference page.
Step 4—Interpret the MAC Log File and Take Action
The MAC log file gives a detailed history of initialization events that occurred in the cable modem. All pertinent troubleshooting information is stored here.
The following sample log file is broken down into the chronological sequence of events listed below. Sample comments are also included in the log file.
•
Event 1—Wait for the Link to Come Up
•
Event 2—Scan for a Downstream Channel, then Synchronize
•
Event 3—Obtain Upstream Parameters
•
Event 4—Start Ranging for Power Adjustments
•
Event 5—Establish IP Connectivity
•
Event 6—Establish the Time of Day
•
Event 7—Establish Security
•
Event 8—Transfer Operational Parameters
•
Event 9—Perform Registration
•
Event 10—Comply with Baseline Privacy
•
Event 11—Enter the Maintenance State
Event 1—Wait for the Link to Come Up
The MAC layer informs the cable modem's drivers that it needs to reset. This is the first event that happens after the modem powers up and begins initialization. The fields LINK_DOWN and LINK_UP are similar to the shut and no shut conditions on a standard Cisco interface.
uBR904# show controllers cable-modem 0 mac log
528302.040 CMAC_LOG_LINK_DOWN
528302.042 CMAC_LOG_RESET_FROM_DRIVER
528302.044 CMAC_LOG_STATE_CHANGE wait_for_link_up_state
528302.046 CMAC_LOG_DRIVER_INIT_IDB_SHUTDOWN 0x08098D02
528302.048 CMAC_LOG_LINK_DOWN
528308.428 CMAC_LOG_DRIVER_INIT_IDB_RESET 0x08098E5E
528308.432 CMAC_LOG_LINK_DOWN
528308.434 CMAC_LOG_LINK_UP
Event 2—Scan for a Downstream Channel, then Synchronize
Different geographical regions and different cable plants use different frequency bands. The Cisco uBR904 cable modem uses a built-in default frequency scanning feature to address this issue. After the cable modem finds a successful downstream frequency channel, it saves the channel to NVRAM. The cable modem recalls this value the next time it needs to synchronize its frequency.
The field CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND tells you what frequency the cable modem will scan for. The field CMAC_LOG_WILL_SEARCH_SAVED_DS_FREQUENCY tells you the frequency the cable modem locked onto and saved to NVRAM for future recall. The field CMAC_LOG_DS_64QAM_LOCK_ACQUIRED communicates the same information. The field CMAC_LOG_DS_CHANNEL_SCAN_COMPLETED indicates that the scanning and synchronization was successful.
508144.348 CMAC_LOG_STATE_CHANGE ds_channel_scanning_state
508144.350 CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND 88/453000000/855000000/6000000
508144.354 CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND 89/93000000/105000000/6000000
508144.356 CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND 90/111250000/117250000/6000000
508144.360 CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND 91/231012500/327012500/6000000
508144.362 CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND 92/333015000/333015000/6000000
508144.366 CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND 93/339012500/399012500/6000000
508144.370 CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND 94/405000000/447000000/6000000
508144.372 CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND 95/123015000/129015000/6000000
508144.376 CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND 96/135012500/135012500/6000000
508144.380 CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND 97/141000000/171000000/6000000
508144.382 CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND 98/219000000/225000000/6000000
508144.386 CMAC_LOG_WILL_SEARCH_DS_FREQUENCY_BAND 99/177000000/213000000/6000000
508144.390 CMAC_LOG_WILL_SEARCH_SAVED_DS_FREQUENCY 699000000
508145.540 CMAC_LOG_UCD_MSG_RCVD 3
508146.120 CMAC_LOG_DS_64QAM_LOCK_ACQUIRED 699000000
508146.122 CMAC_LOG_DS_CHANNEL_SCAN_COMPLETED
A frequency band is a group of adjacent channels. These bands are numbered from 88 to 99. Each band has starting and ending digital carrier frequencies and a 6 MHz step size. For example, a search of EIA channels 95-97 is specified using band 89. The starting frequency is 93 MHz, the ending frequency is 105 MHz.
The cable modem's default frequency bands correspond to the North American EIA CATV channel plan for 6 MHz channel slots between 90 MHz and 858 MHz. For example, EIA channel 95 occupies the slot 90-96 MHz. The digital carrier frequency is specified as the center frequency of 93 MHz. Channel 95 is usually specified using the analog video carrier frequency of 91.25 MHz, which lies 1.75 MHz below the center of the slot.
The search table is arranged so that the first frequencies tried are above 450 MHz. Because many CATV systems have been upgraded from 450 MHz to 750 MHz coaxial cable, digital channels have a high chance of being assigned in the new spectrum. The search table omits channels below 90 MHz and above 860 MHz since the DOCSIS specification does not mandate their coverage.
Some CATV systems use alternative frequency plans such as the IRC (Incrementally Related Carrier) and HRC (Harmonically Related Carrier) plans. Most of the IRC channel slots overlap the EIA plan. The HRC plan is not supported by Cisco's cable modems since so few cable plants are using this plan.
Event 3—Obtain Upstream Parameters
The cable modem waits for an upstream channel descriptor (UCD) message from the headend Cisco uBR7246. This is done to retrieve transmission parameters for the upstream channel.
508146.124 CMAC_LOG_STATE_CHANGE wait_ucd_state
508147.554 CMAC_LOG_UCD_MSG_RCVD 3
508147.558 CMAC_LOG_UCD_NEW_US_FREQUENCY 20000000
508147.558 CMAC_LOG_SLOT_SIZE_CHANGED 8
508147.622 CMAC_LOG_FOUND_US_CHANNEL 1
508147.624 CMAC_LOG_STATE_CHANGE wait_map_state
508148.058 CMAC_LOG_MAP_MSG_RCVD
508148.060 CMAC_LOG_INITIAL_RANGING_MINISLOTS 40
Event 4—Start Ranging for Power Adjustments
The ranging process adjusts the cable modem's transmit power. The cable modem performs ranging in two stages: ranging state 1 and ranging state 2.
The field CMAC_LOG_POWER_LEVEL_IS is the power level that the Cisco uBR7246 told the cable modem to adjust to. The field CMAC_LOG_RANGING_SUCCESS indicates that the ranging adjustment was successful.
508148.062 CMAC_LOG_STATE_CHANGE ranging_1_state
508148.064 CMAC_LOG_RANGING_OFFSET_SET_TO 9610
508148.066 CMAC_LOG_POWER_LEVEL_IS 28.0 dBmV (commanded)
508148.068 CMAC_LOG_STARTING_RANGING
508148.070 CMAC_LOG_RANGING_BACKOFF_SET 0
508148.072 CMAC_LOG_RNG_REQ_QUEUED 0
508148.562 CMAC_LOG_RNG_REQ_TRANSMITTED
508148.566 CMAC_LOG_RNG_RSP_MSG_RCVD
508148.568 CMAC_LOG_RNG_RSP_SID_ASSIGNED 2
508148.570 CMAC_LOG_ADJUST_RANGING_OFFSET 2408
508148.572 CMAC_LOG_RANGING_OFFSET_SET_TO 12018
508148.574 CMAC_LOG_ADJUST_TX_POWER 20
508148.576 CMAC_LOG_POWER_LEVEL_IS 33.0 dBmV (commanded)
508148.578 CMAC_LOG_STATE_CHANGE ranging_2_state
508148.580 CMAC_LOG_RNG_REQ_QUEUED 2
508155.820 CMAC_LOG_RNG_REQ_TRANSMITTED
508155.824 CMAC_LOG_RNG_RSP_MSG_RCVD
508155.826 CMAC_LOG_ADJUST_RANGING_OFFSET -64
508155.826 CMAC_LOG_RANGING_OFFSET_SET_TO 11954
508155.828 CMAC_LOG_RANGING_CONTINUE
508165.892 CMAC_LOG_RNG_REQ_TRANSMITTED
508165.894 CMAC_LOG_RNG_RSP_MSG_RCVD
508165.896 CMAC_LOG_ADJUST_TX_POWER -9
508165.898 CMAC_LOG_POWER_LEVEL_IS 31.0 dBmV (commanded)
508165.900 CMAC_LOG_RANGING_CONTINUE
508175.962 CMAC_LOG_RNG_REQ_TRANSMITTED
508175.964 CMAC_LOG_RNG_RSP_MSG_RCVD
508175.966 CMAC_LOG_RANGING_SUCCESS
Event 5—Establish IP Connectivity
After ranging is complete, the cable interface on the cable modem is UP. Now the cable modem accesses a remote DHCP server to get an IP address. The DHCP request also includes the name of a file that contains additional configuration parameters, the TFTP server's address and the Time of Day (TOD) server's address.
The field CMAC_LOG_DHCP_ASSIGNED_IP_ADDRESS indicates the IP address assigned from the DHCP server to the cable modem interface. The field CMAC_LOG_DHCP_TFTP_SERVER_ADDRESS marks the TFTP server's address. The field CMAC_LOG_DHCP_TOD_SERVER_ADDRESS indicates the time of day server's address. The field CMAC_LOG_DHCP_CONFIG_FILE_NAME shows the filename containing the transmission parameters. The field CMAC_LOG_DHCP_COMPLETE shows that the IP connectivity was successful.
508175.968 CMAC_LOG_STATE_CHANGE dhcp_state
508176.982 CMAC_LOG_DHCP_ASSIGNED_IP_ADDRESS 188.188.1.62
508176.984 CMAC_LOG_DHCP_TFTP_SERVER_ADDRESS 4.0.0.1
508176.986 CMAC_LOG_DHCP_TOD_SERVER_ADDRESS 4.0.0.32
508176.988 CMAC_LOG_DHCP_SET_GATEWAY_ADDRESS
508176.988 CMAC_LOG_DHCP_TZ_OFFSET 360
508176.990 CMAC_LOG_DHCP_CONFIG_FILE_NAME platinum.cm
508176.992 CMAC_LOG_DHCP_ERROR_ACQUIRING_SEC_SVR_ADDR
508176.996 CMAC_LOG_DHCP_COMPLETE
Event 6—Establish the Time of Day
The Cisco uBR904 cable modem accesses the Time of Day server for the current date and time, which is used to create time stamps for logged events. The field CMAC_LOG_TOD_COMPLETE indicates a successful time of day sequence.
508177.120 CMAC_LOG_STATE_CHANGE establish_tod_state
508177.126 CMAC_LOG_TOD_REQUEST_SENT
508177.154 CMAC_LOG_TOD_REPLY_RECEIVED 3107617539
508177.158 CMAC_LOG_TOD_COMPLETE
Event 7—Establish Security
The cable modem establishes a security association. The security_association_state is normally bypassed since "full security" as defined by the MCNS DOCSIS is not supported.
Note
"Full security" was a request made by MSOs for a very strong authorization and authentication check by the CMTS. This request has not been granted by cable modem manufacturers. The Cisco uBR904 fully supports baseline privacy, which protects user's data from being "sniffed" on the cable network.
508177.160 CMAC_LOG_STATE_CHANGE security_association_state
508177.162 CMAC_LOG_SECURITY_BYPASSED
Event 8—Transfer Operational Parameters
After the DHCP and security operations are successful, the cable modem downloads operational parameters from the cable company's TFTP server. These parameters are transferred via a configuration file. The field CMAC_LOG_DHCP_CONFIG_FILE_NAME shows the filename containing the transmission parameters.
508177.164 CMAC_LOG_STATE_CHANGE configuration_file_state
508177.166 CMAC_LOG_LOADING_CONFIG_FILE platinum.cm
508178.280 CMAC_LOG_CONFIG_FILE_PROCESS_COMPLETE
Event 9—Perform Registration
The cable modem registers with the headend Cisco uBR7246. After the cable modem is initialized, authenticated, and configured, the cable modem is authorized to forward traffic into the cable network. A successful registration is indicated by the field CMAC_LOG_REGISTRATION_OK.
508178.300 CMAC_LOG_STATE_CHANGE registration_state
508178.302 CMAC_LOG_REG_REQ_MSG_QUEUED
508178.306 CMAC_LOG_REG_REQ_TRANSMITTED
508178.310 CMAC_LOG_REG_RSP_MSG_RCVD
508178.312 CMAC_LOG_COS_ASSIGNED_SID 1/2
508178.314 CMAC_LOG_RNG_REQ_QUEUED 2
508178.316 CMAC_LOG_REGISTRATION_OK
Event 10—Comply with Baseline Privacy
Keys for baseline privacy are exchanged between the cable modem and the headend Cisco uBR7246. During this event, a link level encryption is performed so that a user's data cannot be "sniffed" by anyone else who is on the cable network.
Following is a trace that shows baseline privacy enabled. The key management protocol is responsible for exchanging two types of keys: KEKs and TEKs. The KEK (key exchange key, also referred to as the authorization key) is used by the headend CMTS to encrypt the TEKs (traffic encryption keys) it sends to the cable modem. The TEKs are used to encrypt/decrypt the data. There is a TEK for each SID configured to use privacy.
851.088 CMAC_LOG_STATE_CHANGE establish_privacy_state
851.094 CMAC_LOG_PRIVACY_FSM_STATE_CHANGE machine: KEK, event/state:
EVENT_1_PROVISIONED/STATE_A_START, new state: STATE_B_AUTH_WAIT
851.102 CMAC_LOG_BPKM_REQ_TRANSMITTED
851.116 CMAC_LOG_BPKM_RSP_MSG_RCVD
851.120 CMAC_LOG_PRIVACY_FSM_STATE_CHANGE machine: KEK, event/state:
EVENT_3_AUTH_REPLY/STATE_B_AUTH_WAIT, new state: STATE_C_AUTHORIZED
856.208 CMAC_LOG_PRIVACY_FSM_STATE_CHANGE machine: TEK, event/state:
EVENT_2_AUTHORIZED/STATE_A_START, new state: STATE_B_OP_WAIT
856.220 CMAC_LOG_BPKM_REQ_TRANSMITTED
856.224 CMAC_LOG_BPKM_RSP_MSG_RCVD
856.230 CMAC_LOG_PRIVACY_FSM_STATE_CHANGE machine: TEK, event/state:
EVENT_8_KEY_REPLY/STATE_B_OP_WAIT, new state: STATE_D_OPERATIONAL
856.326 CMAC_LOG_PRIVACY_INSTALLED_KEY_FOR_SID 2
856.330 CMAC_LOG_PRIVACY_ESTABLISHED
Note
In order for baseline privacy to work, you must use code image names containing the characters "k1" on both the uBR904 (the subscriber end) and the uBR7246 (the headend). In addition, privacy must be turned on in the configuration file that is downloaded to the uBR904.
Event 11—Enter the Maintenance State
As soon as the cable modem has successfully completed the above events, it enters the operational maintenance state.
508178.322 CMAC_LOG_STATE_CHANGE maintenance_state
Step 5—Use Additional Troubleshooting Commands
You can use other show controllers and debug cable modem commands to troubleshoot different aspects of a cable modem. However, the most useful command is the show controllers cable-modem 0 mac command.
To display additional controller information inside a cable modem, enter one or more of the following commands in privileged EXEC mode:
To debug different components of a cable modem, enter one or more of the following commands in privileged EXEC mode:
Command Reference
This section describees new and changed commands in Cisco IOS Release 12.0(3)T for troubleshooting the Cisco uBR904 cable modem.
All other commands used with this feature are documented in the Cisco IOS Release 12.0 command references.
•
show controllers cable-modem
•
show controllers cable-modem bpkm
•
show controllers cable-modem des
•
show controllers cable-modem filters
•
show controllers cable-modem lookup-table
•
show controllers cable-modem mac
•
show controllers cable-modem phy
•
show controllers cable-modem tuner
show controllers cable-modem
To display high-level controller information about a cable modem, use the show controllers cable-modem command in privileged EXEC mode.
show controllers cable-modem number
Syntax Description
number
|
Controller number inside the cable modem.
|
Command Mode
Privileged EXEC
Usage Guidelines
This command first appeared in Cisco IOS Release 11.3 NA.
The show controllers cable-modem display begins with information from the first few registers of the Broadcom BCM3220 chip. Next is buffer information for the receive, receive MAC message, buffer descriptor, and packet descriptor rings. Then comes MIB statistics from the BCM3220 chip, DMA base registers to indicate where the rings start, global control and status information, and finally interrupts for the interrupt code.
When using this command, be sure to check the tx_count and the tx_head and tx_tail values for the buffer descriptor (TX BD) and packet descriptor (TX PD) rings. The tx_count should be greater than 0, and the tx_head and tx_tail values should not be equal. If these values do not change for a long period of time, it indicates there are packets stuck on the ring. This condition is often caused by the headend not giving grants.
Examples
Following is a sample output for this command:
uBR904# show controllers cable-modem 0
BCM3220 unit 0, idb 0x200EB4, ds 0x82D4748, regaddr = 0x800000, reset_mask 0x80
station address 0010.7b43.aa01 default station address 0010.7b43.aa01
MAC State is ranging_2_state, Prev States = 7
MAC mcfilter 01E02F00 data mcfilter 01000000
DS: BCM 3116 Receiver: Chip id = 2
US: BCM 3037 Transmitter: Chip id = 30B4
Rx: tuner_freq 699000000, symbol_rate 5055849, local_freq 11520000
snr_estimate 33406, ber_estimate 0, lock_threshold 26000
QAM in lock, FEC in lock, qam_mode QAM_64
Tx: tx_freq 20000000, power_level 0x3E, symbol_rate 1280000
DHCP: TFTP server = 4.0.0.32, TOD server = 4.0.0.188
Security server = 0.0.0.0, Timezone Offest = 0.0.4.32
RX data PDU ring with 32 entries at 0x201D40
rx_head = 0x201D78 (7), rx_p = 0x831BE04 (7)
00 pak=0x8326318 buf=0x225626 status=0x80 pak_size=0
01 pak=0x83241A0 buf=0x21DE5A status=0x80 pak_size=0
02 pak=0x83239C0 buf=0x21C22A status=0x80 pak_size=0
03 pak=0x8328C70 buf=0x22EA22 status=0x80 pak_size=0
04 pak=0x8325F28 buf=0x22480E status=0x80 pak_size=0
05 pak=0x8327CB0 buf=0x22B1C2 status=0x80 pak_size=0
06 pak=0x8323BB8 buf=0x21C936 status=0x80 pak_size=0
RX MAC message ring with 8 entries at 0x201E80
rx_head_mac = 0x201E88 (1), rx_p_mac = 0x831BE80 (1)
00 pak=0x8326120 buf=0x224F1A status=0x80 pak_size=0
01 pak=0x8324590 buf=0x21EC72 status=0x80 pak_size=0
02 pak=0x8323FA8 buf=0x21D74E status=0x80 pak_size=0
03 pak=0x8326EE8 buf=0x22806E status=0x80 pak_size=0
04 pak=0x8328E68 buf=0x22F12E status=0x80 pak_size=0
05 pak=0x8327AB8 buf=0x22AAB6 status=0x80 pak_size=0
06 pak=0x8328880 buf=0x22DC0A status=0x80 pak_size=0
07 pak=0x8326CF0 buf=0x227962 status=0xA0 pak_size=0
TX BD ring with 8 entries at 0x201FB8, tx_count = 0
tx_head = 0x201FD8 (4), head_txp = 0x831BF20 (4)
tx_tail = 0x201FD8 (4), tail_txp = 0x831BF20 (4)
00 pak=0x000000 buf=0x200000 status=0x00 pak_size=0
01 pak=0x000000 buf=0x200000 status=0x00 pak_size=0
02 pak=0x000000 buf=0x200000 status=0x00 pak_size=0
03 pak=0x000000 buf=0x200000 status=0x00 pak_size=0
04 pak=0x000000 buf=0x200000 status=0x00 pak_size=0
05 pak=0x000000 buf=0x200000 status=0x00 pak_size=0
06 pak=0x000000 buf=0x200000 status=0x00 pak_size=0
07 pak=0x000000 buf=0x200000 status=0x20 pak_size=0
TX PD ring with 8 entries at 0x202038, tx_count = 0
tx_head_pd = 0x202838 (4)
tx_tail_pd = 0x202838 (4)
00 status=0x00 bd_index=0x0000 len=0x0000 hdr_len=0x0000
01 status=0x00 bd_index=0x0001 len=0x0000 hdr_len=0x0000
02 status=0x00 bd_index=0x0002 len=0x0000 hdr_len=0x0000
03 status=0x00 bd_index=0x0003 len=0x0000 hdr_len=0x0000
04 status=0x00 bd_index=0x0004 len=0x0000 hdr_len=0x0000
05 status=0x00 bd_index=0x0005 len=0x0000 hdr_len=0x0000
06 status=0x00 bd_index=0x0006 len=0x0000 hdr_len=0x0000
07 status=0x20 bd_index=0x0007 len=0x0000 hdr_len=0x0000
DS fifo full = 0, Rerequests = 0
DS mac msg overruns = 0, DS data overruns = 0
Qualified maps = 348, Qualified syncs = 73
CRC fails = 0, HDR chk fails = 0
Data pdus = 0, Mac msgs = 423
ds_data_bd_base=0x001D40, ds_mac_bd_base=0x001E80
ds_data_dma_ctrl=0x98, ds_mac_dma_ctrl=0xD8
ds_dma_data_index=0x0007, ds_dma_msg_index=0x0000
us_bd_base=0x001FB8, us_pd_base=0x002038
us_dma_ctrl=0x80, us_dma_tx_start=0x00
Global control and status:
irq_pend=0x0008, irq_mask=0x00F7
briefly describes some of the fields shown in the display. For more information, see the Broadcom documentation for the BCM3220 chip.
Table 2 Show Controllers Cable-Modem Field Descriptions
Field
|
Description
|
BCM3220 unit
|
The unit number of this BCM3220 chip.
|
idb
|
Interface description block number.
|
ds
|
Downstream channel.
|
regaddr
|
Indicates the start of the BCM3220 registers.
|
reset_mask
|
Indicates the bit to hit when resetting the chip.
|
station address
|
MAC address of this uBR904 cable modem interface.
|
default station address
|
Default MAC address assigned by the factory for this uBR904 cable modem.
|
PLD VERSION
|
PLD version of the BCM3220 chip.
|
MAC state
|
Current MAC state of the cable modem.
|
Prev States
|
Number of states that have previously existed since initialization.
|
MAC mcfilter
|
MAC control filter for MAC messages.
|
data mcfilter
|
MAC control filter for data.
|
DS
|
Downstream Broadcom receiver chip number and ID.
|
US
|
Upstream Broadcom transmitter chip number and ID.
|
Tuner: status
|
Current status of the tuner.
|
Rx: tuner_freq
|
Downstream frequency (in Hz) that the uBR904 searched for and found.
|
symbol_rate
|
Downstream frequency in symbols per second.
|
local_freq
|
Frequency on which the transmitter and the tuner communicate.
|
snr_estimate
|
Estimate of signal-to-noise ratio (SNR) in Db X 1000.
|
ber_estimate
|
Estimate of bit error rate (always 0).
|
lock_threshold
|
Minimum signal-to-noise ratio (SNR) that the uBR904 will accept as a valid lock.
|
qam_mode
|
The modulation scheme used in the downstream direction.
|
Tx: tx_freq
|
Upstream frequency sent to the uBR904 by the CMTS in the UCD message.
|
power_level
|
Transmit power level as set in the hardware, expressed as a hexadecimal value. The units are unique to the hardware used. Use the show controllers cable-modem 0 mac state command to see the power level in dBmV.
|
symbol_rate
|
Upstream frequency in symbols per second.
|
TFTP server
|
IP address of the TFTP server at the headend.
|
TOD server
|
IP address of the time-of-day server at the headend.
|
Security server
|
IP address of the security server at the headend.
|
Timezone Offset
|
Correction received from the DHCP server to synchronize the cable modem time clock with the CMTS.
|
Config filename
|
Name of the file stored on the cable company's TFTP server that contains operational parameters for the cable modem.
|
buffer size
|
Size in bytes of the BCM3220 message buffers.
|
RX data PDU ring:
rx_head
rx_p
|
Indicates the memory location of the beginning of buffer information for the receive data ring.
Indicates current head buffer descriptor.
Indicates current head packet descriptor.
|
RX MAC message ring:
rx_head_mac
rx_p_mac
|
Indicates the memory location of the beginning of buffer information for the receive MAC message ring.
Indicates current head buffer descriptor.
Indicates current head packet descriptor.
|
TX BD ring:
tx_count
tx_head
head_txp
tx_tail
tail_txp
|
Indicates the memory location of the beginning of buffer information for the transmit buffer descriptor ring.
If tx_count is 0, or if tx_head and tx_tail are equal and there is no change for a period of time, it means there are packets stuck on the ring. This condition may be caused by the headend not giving grants.
The next packet descriptor to get used, along with its index.
The next packet descriptor to get sent, along with its index. When head_txp and tail_txp are the same, the transmit queue is empty.
|
TX PD ring:
tx_head_pd
tx_tail_pd
ehdr
|
Indicates the memory location of the beginning of buffer information for the transmit packet descriptor ring.
Indicates current head packet descriptor.
Indicates current tail packet descriptor.
Extended MCNS header.
|
MIB Statistics:
|
|
DS fifo full
|
Number of times the downstream input first-in first-out (FIFO) buffer became full on the uBR904.
|
rerequests
|
Number of times a bandwidth request generated by the uBR904 was not responded to by the CMTS.
|
DS mac msg overruns
|
Number of times the uBR904's DMA controller had a downstream MAC message and there were no free MAC message buffer descriptors to accept the message.
|
DS data overruns
|
Number of times the uBR904's DMA controller had downstream data and there were no free data PDU buffer descriptors to accept the data.
|
Qualified maps
|
Number of times a MAP message passed all filtering requirements and was received by the uBR904.
|
Qualified syncs
|
Number of times a timestamp message was received by the uBR904.
|
CRC fails
|
Number of times a MAC message failed a cyclic redundancy (CRC) check.
|
HDR chk fails
|
Number of times a MAC header failed its 16-bit CRC check. The MAC header CRC is a 16-bit Header Check Sequence (HCS) field that ensures the integrity of the MAC header even in a collision environment.
|
Data pdus
|
Total number of data PDUs (protocol data units) of all types received by the uBR904.
|
Mac msgs
|
Number of MAC messages received by the uBR904.
|
Valid hdrs
|
Number of valid headers received by the uBR904, including PDU headers, MAC headers, and headers only.
|
Global control and status:
|
Used to reset the BCM3220 chip.
|
interrupts:
|
Hexadecimal values of the pending IRQ interrupt and IRQ mask.
|
Related Commands
show controllers cable-modem bpkm
show controllers cable-modem des
show controllers cable-modem filters
show controllers cable-modem lookup-table
show controllers cable-modem mac
show controllers cable-modem phy
show controllers cable-modem tuner
show controllers cable-modem bpkm
To display information about the baseline privacy key management exchange between the cable modem and the headend CMTS, use the show controllers cable-modem bpkm command in privileged EXEC mode.
show controllers cable-modem number bpkm
Syntax Description
number
|
controller number inside the cable modem.
|
Command Mode
Privileged EXEC
Usage Guidelines
This command first appeared in Cisco IOS Release 11.3 NA.
Examples
The following output is displayed when the headend CMTS does not have baseline privacy enabled:
uBR904# show controllers cable-modem 0 bpkm
CM Baseline Privacy Key Management
configuration (in seconds):
authorization wait time: 10
reauthorization wait time: 10
authorization grace time: 600
authorization rej wait time: 60
kek state: STATE_B_AUTH_WAIT
tek state: No resources assigned
describes the fields shown in the display.
Table 3 Show Controllers Cable-Modem bpkm Field Descriptions
Field
|
Description
|
authorization wait time
|
The number of seconds the cable modem waits for a reply after sending the Authorization Request message to the CMTS.
|
reauthorization wait time
|
The number of seconds the cable modem waits for a reply after it has sent an Authorization Request message to the CMTS in response to a reauthorization request or an Authorization Invalid message from the CMTS.
|
authorization grace time
|
The number of seconds before the current authorization is set to expire that the grace timer begins, signaling the cable modem to begin the reauthorization process.
|
operational wait time
|
The number of seconds the TEK state machine waits for a reply from the CMTS after sending its initial Key Request for its SID's keying material.
|
rekey wait time
|
The number of seconds the TEK state machine waits for a replacement key for this SID after the TEK grace timer has expired and the request for a replacement key has been made.
|
tek grace time
|
The number of seconds before the current TEK is set to expire that the TEK grace timer begins, signaling the TEK state machine to request a replacement key.
|
authorization rej wait time
|
Number of seconds the cable modem waits before sending another Authorization Request message to the CMTS after it has received an Authorization Reject message.
|
kek state
|
The current state of the key encryption key that the CMTS uses to encrypt the traffic encryption keys it sends to the cable modem.
|
tek state
|
The current state of the traffic encryption key state machine for the specified SID.
|
Related Commands
show controllers cable-modem
show controllers cable-modem des
show controllers cable-modem filters
show controllers cable-modem lookup-table
show controllers cable-modem mac
show controllers cable-modem phy
show controllers cable-modem tuner
show controllers cable-modem des
To display information about the Data Encryption Standard (DES) engine registers, use the show controllers cable-modem des command in privileged EXEC mode.
show controllers cable-modem number des
Syntax Description
number
|
controller number inside the cable modem.
|
Command Mode
Privileged EXEC
Usage Guidelines
This command first appeared in Cisco IOS Release 11.3 NA.
Examples
DES engine registers are displayed in the following example:
uBR904# show controllers cable-modem 0 des