Cellular Serviceability

This chapter contains the following sections:

Configuring Modem DM Log Collection

Diagnostic Monitor (DM) Log is a modem's feature that captures data transactions between the modem and the network over the radio frequency interface. This feature is a useful tool for troubleshooting 3G and 4G data connectivity or performance issues.

Once a DM log file is captured, diagnostic software tools, such as Sierra Wireless SwiLog and Qualcomm QXDM, can be used to decode the DM log file to understand the issues. A member of Cisco TAC can help with decoding the DM log files.

To configure DM log collection, enter the following commands, starting in privileged EXEC mode.

Procedure

  Command or Action Purpose

Step 1

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 2

controller cellular <slot>

Example:

Router(config)# controller cellular x/x/x

Enters cellular controller configuration mode.

Step 3

lte modem dm-log enable

Example:

Router(config-controller)# lte modem dm-log enable

Configures DM logging for LTE modem.

  • autostop—Automatically stops DM log capturing based on:

    link-down—cellular interface link down event

    timertimer—amount of time in minutes

  • enable—Starts DM log capturing.

  • filesize <size>—Specifies the maximum log file size, in MB for each DM log file before creating another DM log file. Range is from 1 to 64. Default is 20.

  • filter location: <filename>—Specifies the DM log filter to use from the following locations:

    —bootflash:file

    —flash:file

    Note

     
    Bootflash and flash are the only valid locations to store the DM log filter file.

    Note

     
    If the DM log filter file is not specified, the generic filter file, which comes with the router will be used.

    Note

     
    The DM log filter file needs to be in .sqf format.
  • rotation—Enables continuous DM log capturing by replacing the oldest DM log files with the latest.

  • size <log-size>—Specifies the maximum total size in MB of all DM log files that can be allowed in the bootflash or flash before modem stops capturing DM log files. If rotation is enabled, the oldest DM files is replaced with the latest DM file to meet this size configuration.

Step 4

end

Example:

Router(config-controller)# end

Returns to privileged EXEC mode.

Step 5

show cellular <slot> logs dm-log

Example:

Router# show cellular x/x/x logs dm-log
Integrated DM logging is on
output path = Utility Flash
filter = MC74xx generic - v11026_Generic_GSM_WCDMA_LTE_IP-no-data-packets.sqf
maximum log size = 0
maximum file size = 0
log rotation = disabled

33 packets sent to the modem, 4663 bytes, 0 errors
28521 packets received from the modem, 13500758 bytes, 0 input drops
28521 packets stored in utility flash, 13500758 bytes

current file size = 13500758
current log size = 13500758
total log size = 13500758
Utility Flash DM log files =  (1) files

(Optional) Displays DM log configuration and statistics.

Example: DM Log Configuration

The following example shows how to:

  • Specify the maximum size of all DM log files that can be stored in bootflash or flash to 512 MB

  • Specify the maximum size of each DM log file to 32 MB

  • Use MC7xxx_GPS_Log.sqf DM log filter in the flash

  • Enable rotation

  • Enable DM log capturing

Router(config-controller)# controller cell x/x/x
Router(config-controller)# lte modem dm-log size 512
Router(config-controller)# controller cell x/x/x
Router(config-controller)# lte modem dm-log filesize 32
Router(config-controller)# controller cell x/x/x
Router(config-controller)# lte modem dm-log filter flash:MC7xxx_GPS_Log.sqf
Router(config-controller)# controller cell x/x/x
Router(config-controller)# lte modem dm-log rotation
Router(config-controller)# controller cell x/x/x
Router(config-controller)# lte modem dm-log enable
Router(config-controller)# controller cell x/x/x
Router(config-controller)# end
Router(config-controller)# controller cell x/x/x
Router(config-controller)# lte modem dm-log size 1024
Router#show running-config | section controller
controller Cellular x/x/x
 lte modem dm-log filter flash:MC7xxx_GPS_Log.sqf
 lte modem dm-log size 512
 lte modem dm-log filesize 32
 lte modem dm-log rotation
 lte modem dm-log enable
 lte modem dm-log size 1024
Router#show cellular x/x/x logs dm-log
Integrated DM logging is on
output path = Utility Flash
filter = flash:MC7xxx_GPS_Log.sqf
maximum log size = 536870912
maximum file size = 33554432
log rotation = enabled

32 packets sent to the modem, 3879 bytes, 0 errors
158324 packets received from the modem, 75971279 bytes, 0 input drops
158324 packets stored in utility flash, 75971279 bytes

current file size = 8863042
current log size = 75971279
total log size = 75971279
Utility Flash DM log files =  (3) files
end
Router#dir flash:dmlog*
Directory of bootflash:/dmlog*

Directory of bootflash:/

   27  -rw-    33554069   Jun 7 2020 18:08:46 -08:00  dmlog-slot4-20200921-172930.bin
2885718016 bytes total (521891840 bytes free)
lte modem dm-log size 1024
Router(config)#controller cellular x/x/x
Router(config-controller)#no lte modem dm-log enable
Router(config-controller)#end

Example: Configuring dm-log to Utility Flash

Router(config)#controller cellular x/x/x
Router(config-controller)#lte modem dm-log enable
Router(config-controller)#
*May 8 17:57:09.905: %SYS-5-CONFIG_I: Configured from console by console 
Router#
Router#show cellular x/x/x log dm-log
Integrated DM logging is off
Output path = bootflash:
Filter Type = Default
Filter Name = v11026_Generic_GSM_WCDMA_LTE_IP-no-data-packets.sqf
Maximum log size = 0 MB
Maximum file size = 0 MB
Log rotation = Disabled

Router#show cellular x/x/x log dm-log details 
Integrated DM logging is off
Output path = bootflash:
Filter Type = Default
Filter Name = v11026_Generic_GSM_WCDMA_LTE_IP-no-data-packets.sqf
Maximum log size = 0 MB
Maximum file size = 0 MB
Log rotation = Disabled

0 Packets sent to the modem, 0 Bytes, 0 Errors
0 Packets received from the modem, 0 Bytes, 0 Input drops
0 Packets stored in file system, 0 Bytes, 0 Errors, 0 Aborts
0 Max rcv queue size

Current file size = 0 MB
Current log size = 0 MB
Total log size = 0 MB
Router#

Enabling Modem Crashdump Collection

Modem crashdump collection is useful in debugging firmware crash. To collect crash data, the modem has to be pre-configured so that it will stay in memdump mode after a crash. Memdump mode is a special boot-and-hold mode for the memdump utility to collect crash data.

To enable modem crashdump collection, perform the following steps.


Note


The integrated modem crashdump collection feature is supported only on 3G HSPA and 4G based cellular modems.

Before you begin

The device will need to be in boot-and-hold mode.
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#controller cel x/x/x
Router(config-controller)#lte modem crash-action ? 
boot-and-hold Remain in crash state

Router(config-controller)#lte modem crash-action boot-and-hold 

This ensures that whenever the router crashes, it will stay in that state and will not try to recover. By default, the crash-action is reset which means the modem will reset and try to recover itself whenever it crashes. The above boot-and-hold command is used to keep the modem in a crashed state so that you can capture crashdump using the following command:

Router#test cell-cwan x/x/x modem-crashdump ?
off Disable Modem firmware crash dump
on Enable Modem firmware crash dump

Router#test cell-cwan x/x/x modem-crashdump on

This will capture the crashdump and store it in flash.

Procedure

Command or Action Purpose

test { cell-cwan } <slot> modem-crashdump { on <location> | off }

Example:

Router# test cell-host x/x/x modem-crashdump on local_uf

Enables or disables modem crashdump collection.

  • cell-host

    —Keyword for fixed platform.

  • cell-cwan

    — Keyword for cellular on a PIM.

  • slot

    —For the PIM, this is the router slot, module slot, and port separated by slashes (for example, x/x/x). For fixed platform, this is the number 0.

  • on

    —Enables crashdump log collection.

  • location

    —Specifies the destination URL where the modem crashdump logs will be stored.

  • off

    —Disables crashdump log collection.

Displaying Modem Log Error and Dump Information

As part of the 3G serviceability enhancement, commands strings (at!err and at!gcdump ) can be sent to the modem using Cisco IOS CLI rather than setting up a reverse telnet session to the cellular modem to obtain log error and dump information.

To obtain log error and dump information, perform the following steps.


Note


The modem log error and dump collection feature is supported only on 3G SKUs.

Procedure

  Command or Action Purpose

Step 1

show cellular <slot> log error

Example:

Router# show cellular x/x/x log error

Shows modem log error and dump information.

Step 2

test cellular <slot> modem-error-clear

Example:

Router# test cellular x/x/x modem-error-clear

(Optional) Clears out the error and dump registers. By default, error and dump registers are not cleared out after a read. This command changes the operation so that registers are cleared once they are read. As a result, the AT command strings are changed to “at!errclr=–1 ” for CDMA and “at!err=0 ” for GSM modems.

Example: Sample Output for the show cellular logs dm-log Command

The following shows a sample output of the show cellular logs dm-log command:


Router# show cellular x/x/x logs dm-log
Integrated DM logging is on
filter = generic
maximum log size = 67108864
maximum file size = 20971520
log rotation = disabled
7 packets sent to the modem, 3232 bytes, 0 errors
75 packets received from the modem, 57123 bytes, 0 input drops
75 packets stored in file system, 57123 bytes, 0 errors, 0 aborts
2 max rcv queue size
current file size = 57123
current log size = 57123
total log size = 57123
DM log files: (1 files)
	

Example: Sample Output for the show cellular logs modem-crashdump Command

The following shows a sample output of the show cellular logs modem-crashdump command:


Router# show cellular x/x/x logs modem-crashdump
Modem crashdump logging: off
Progress = 100%
Last known State = Getting memory chunks
Total consecutive NAKs = 0
Number of retries = 0
Memory Region Info:
1: Full SDRAM [Base:0x0, Length:0x2000000]
2: MDSP RAM A region [Base:0x91000000, Length:0x8000]
3: MDSP RAM B region [Base:0x91200000, Length:0x8000]
4: MDSP RAM C region [Base:0x91400000, Length:0xC000]
5: MDSP Register region [Base:0x91C00000, Length:0x28]
6: ADSP RAM A region [Base:0x70000000, Length:0x10000]
7: ADSP RAM B region [Base:0x70200000, Length:0x10000]
8: ADSP RAM C region [Base:0x70400000, Length:0xC000]
9: ADSP RAM I region [Base:0x70800000, Length:0x18000]
10: CMM Script [Base:0x6A350, Length:0x310]
Router#