5.17. DEBUG commands

Debug commands show advanced diagnostic about Abilis CPX system and resources. These types of commands need administrator or super user rights.

[Note]Note

Shown information is strictly technical and meaningless for the user; Abilis CPX technicians could need it for detecting and solving eventual problems.

By typing the following command, it's possible to display the syntax.

[13:54:30] ABILIS_CPX:debug ?

BM             Display Boot Manager configuration file
CPXRUN         Display CPX Run configuration file
CTIVO          Display information on CTIVO service
DIAGTEST       Display information on Diagnostics test performances
ETHMAC         Display factory MAC addresses of PCI Ethernet cards
FILE           File system information and statistics
HOOK           Task hook information
IRQ            Interrupts information and statistics
MEM            Memory information and statistics
MAILFILTER     Display information on Mail Filtering service
PCIDEV         Display PCI service debug information
PO:            CPX port number [0..999]
RES:           Resource identifier 'type-n', where 'n' can be [1..999]
SIMULATE       Simulate an event for debugging purposes
TASK           Tasks information and statistics
USBDEV         Display USB service debug information
WDGMEM         Watchdog memory

For example DEBUG FILE CONF command, displays the internal file system driver configuration.

[17:48:27] ABILIS_CPX:debug file conf

RTF configuration:

- Maximum number of physical disks: 32
- Maximum number of drives:         25
- Maximum number of files:          135
- Maximum number of buffers:        256
- Sector buffer size:               4096

5.17.1. DEBUG RES

This command shows debugging information about the specified resource. By typing the following command, it's possible to display the command syntax.

[13:54:40] ABILIS_CPX:debug res: ?

DEBUG RES:val [par:val]       Display debug information of a resource

Additional parameters:

LAYER:     Select resource lower layer [L2, LINK, LAN, IP, IPT, PPP, PPPOE]
                                        <Optional, only if PROT: not specified>
PROT:      Select protocol layer [LAPB, MLM, ML, IPLAN, PLINKE, PPP, POECLI]
                                       <Optional, only if LAYER: not specified>
SIZE:      Select debug buffer size [7..63 Kibyte]                   <Optional>
LSN:       Lsn value [0..65534(dec) or 0000..0FFFE(hex), A]          <Optional>
CMD:       Command string. Strings holding spaces must be written
           between quotation marks (e.g. CMD:"str1 str2 ...")        <Optional>

Data are stored in a 6 KB size buffer. Depending on the resource type, where the command is executed on, this buffer could not be enough and at the end of the visualization the following message will be displayed “INCOMPLETE INFORMATION: BUFFER SIZE TOO SHORT”. By using the option SIZE, the user can eventually increase the maximum buffer size used by the command. The indicated value (in KB) must be in the interval [7 - 63].

By using the options LSN and CMD it's possible to select the type of debugging information to be displayed.

For example, to show debugging information of an ADSL line, type the command debug res:ip-xx prot:ppp, where xx is the number of the IP resource associated to the ADSL line. With the options LSN, it's possible to select the type of debugging information to be displayed; if it's set to 0, it will be displayed the command help.

[13:54:49] ABILIS_CPX:debug res:ip-5 prot:ppp

RES:Ip-5 - IP over PPP (PPP) -------------------------------------------------
       ADSL-xx.xxx.xxx.xxx/32
       BufferLength:479    Date/Time:22/04/2015 13:53:49 TraceTime:526078298

Usage:
   LSN:0  == This help
   LSN:1  == Complete debug
   LSN:2  == Upper/Lower NCB status
   LSN:3  == Layer states
   LSN:4  == Link status
   LSN:5  == Negotiated options
   LSN:6  == Echo information
   LSN:7  == RADIUS information
   LSN:10 == Show CALL log
   LSN:11 == Show PPP Negotiation log
   LSN:20 == Clear CALL log
   LSN:21 == Clear PPP Negotiation log

[13:54:54] ABILIS_CPX:debug res:ip-5 prot:ppp lsn:10

RES:Ip-5 - IP over PPP (PPP) -------------------------------------------------
       ADSL-xx.xxx.xxx.xxx/32
       BufferLength:377    Date/Time:22/04/2015 13:54:54 TraceTime:526143361

21.04.15 21:30:51  *********************
21.04.15 21:30:51  * * * * START * * * *
21.04.15 21:30:51  Calling PLink
21.04.15 21:30:51  Calling PLink - succeeded
22.04.15 13:06:10  Hanging-up PLink - succeeded
22.04.15 13:06:10  *********************
22.04.15 13:06:10  * * * * START * * * *
22.04.15 13:06:10  Calling PLink
22.04.15 13:06:10  Calling PLink - succeeded

5.17.2. DEBUG SIMULATE EVENT

The command DEBUG SIMULATE EVENT:val simulates an event for debugging purposes. Use the following command to show all possible events:

[13:58:50] ABILIS_CPX:debug simulate event: ?

DEBUG SIMULATE EVENT:val [opt:val]     Simulate an event for debugging purposes

Possible events:

XCP [CPU:val]  Structured exception on the specified CPU [MAIN or EXTRA].
               The CPU specification is optional. By default the exception
               is simulated on the Main CPU (corresponding to CPU:MAIN).
WDL            WDLIVE1 event. It executes a never ending thread loop with
               IRQ MONITOR RESTART disabled.
LOOP [<msec>]  It executes a thread loop without task switching for the
               specified amount of milliseconds [1..2000 msec].
               If msec is omitted the loop is without time limit.
IRQLOOP        Requires at least one ETH resource running and
               'MULTI-CPU' mode DISABLED.
               It forces the interrupt generation while serving is disabled.
               This conditions causes an IRQ LOOP which has to be solved by
               IRQ MONITOR.
WDGRESET       WDG Reset. It resets WDG but doesn't make SW reset of the PC.
SWRESET        Software only reset
BLOCKAGE       Complete lock. It disables ALL the interrupts and executes a
               never ending thread loop without task switching.
TSAVE          Automatic TRACE saving request (trace stop-save-start)
QUIT           Quit exception
TASKOVR        Tasks overflow, i.e. too many threads
HOVR           Heap overflow (bad allocation exception)

5.17.2.1. DEBUG SIMULATE EVENT:XCP

This command simulates the structured exception:

[13:58:58] ABILIS_CPX:debug simulate event:xcp

YOU ASKED TO SIMULATE THE 'STRUCTURED EXCEPTION' EVENT.
THIS WILL CAUSE THE SYSTEM TO BE RESTARTED, PROCEED ANYWAY (N/Y)?y

PROCEEDING WITH STRUCTURED EXCEPTION EVENT SIMULATION...

The log shows the following information:

...
22/04/2015 14:00:13 [00221] I: DEBUG SIMULATE EXCEPTION ON MAIN CPU
22/04/2015 14:00:13 [00029] E: P01
22/04/2015 14:00:18 [00032] AUTO WARM START
22/04/2015 14:00:30 [00103] -------------------- NEW RUN --------------------
...

5.17.2.2. DEBUG SIMULATE EVENT:XCP

This command simulates the WDLIVE1 event:

[14:03:16] ABILIS_CPX:debug simulate event:wdl

YOU ASKED TO SIMULATE THE 'WDLIVE1' EVENT.
THIS WILL CAUSE THE SYSTEM TO BE RESTARTED, PROCEED ANYWAY (N/Y)?y

PROCEEDING WITH WDLIVE1 EVENT SIMULATION...

The log shows the following information:

...
22/04/2015 14:04:01 [00222] I: DEBUG SIMULATE WDLIVE-1
22/04/2015 14:04:38 [00103] -------------------- NEW RUN --------------------
...

5.17.2.3. DEBUG SIMULATE EVENT:WDGRESET

This command resets WDG but doesn't make Abilis SW reset. it's useful to verify if the watchdog (MFIDE/MFPCI/MFLPC) is really able to make a HW reset of the Abilis CPX, and thus if the reset cable is properly connected.

[14:03:16] ABILIS_CPX:debug simulate event:wdgreset

YOU ASKED TO SIMULATE THE 'WDG RESET' EVENT.
THIS WILL CAUSE THE SYSTEM TO BE RESTARTED, PROCEED ANYWAY (N/Y)?y

PROCEEDING WITH WDG RESET EVENT SIMULATION...

The log shows the following information after using this command:

[14:10:52] ABILIS_CPX:d l

Current Local Time: Wednesday 22/04/2015 14:10:52 (UTC+2.00)

...
22/04/2015 14:09:42 [00394] I: DEBUG SIMULATE WDG RESET
22/04/2015 14:09:53 [00103] -------------------- NEW RUN --------------------
22/04/2015 14:09:53 [00398] I: ABILIS CPX Ver. 8.0.2/STD - Build 3961.6
22/04/2015 14:09:53 [00079] I: MULTI-CPU MODE DISABLED FOR THIS HARDWARE
22/04/2015 14:09:53 [00079] I: USING 1 CPU
22/04/2015 14:09:53 [00474] I: CPU clock 1000 MHz
22/04/2015 14:09:55 [00362] I: WATCHDOG MFPCIGT FW Rev. 6
22/04/2015 14:09:55 [00459] I: ABILIS-ID:800733
22/04/2015 14:09:55 [00163] I: SYSTEM RESET
...

If the reset does not take place, the only way to restart Abilis is using the warm start command:

[14:09:59] ABILIS_CPX:debug simulate event:wdgreset

YOU ASKED TO SIMULATE THE 'WDG RESET' EVENT.
THIS WILL CAUSE THE SYSTEM TO BE RESTARTED, PROCEED ANYWAY (N/Y)?y

PROCEEDING WITH WDG RESET EVENT SIMULATION...

WARNING: WDG RESET HAD NOT EFFECT.

******************************************************************************
ATTENTION!
THE SYSTEM MUST BE RESTARTED WITH 'WARM START' COMMAND.
ALLOWED COMMANDs: 'CLOSE', 'EXIT', 'WARM START'.
******************************************************************************

5.17.2.4. DEBUG SIMULATE EVENT:BLOCKAGE

This command simulates the system blockage event:

[14:15:09] ABILIS_CPX:debug simulate event:blockage

YOU ASKED TO SIMULATE THE 'SYSTEM BLOCKAGE' EVENT.
THIS WILL CAUSE THE SYSTEM TO BE RESTARTED, PROCEED ANYWAY (N/Y)?y

PROCEEDING WITH SYSTEM BLOCKAGE EVENT SIMULATION...

The log shows the following information:

...
22/04/2015 14:15:25 [00365] I: DEBUG SIMULATE BLOCKAGE
22/04/2015 14:16:02 [00103] -------------------- NEW RUN --------------------
...

5.17.2.5. DEBUG SIMULATE EVENT:TSAVE

This command simulates the trace autosave event (trace stop-save-start):

[14:18:25] ABILIS_CPX:debug simulate event:tsave

YOU ASKED TO SIMULATE THE 'TRACE AUTO SAVE' EVENT.
THIS WILL ACTIVATE CURRENT TRACE AUTOMATIC SAVING (WITHIN 2 min.),
PROCEED (N/Y)?y

PROCEEDING WITH TRACE AUTO SAVE EVENT SIMULATION...

COMMAND EXECUTED

The log shows the following information:

...
22/04/2015 14:18:25 [00284] I: DEBUG SIMULATE TRACE AUTO SAVE
22/04/2015 14:20:25 [00275] I: TRACE AUTO SAVE: STARTED (TOUT)
22/04/2015 14:20:25 [00279] I: TRACE AUTO SAVE: TRACE STOPPED
22/04/2015 14:20:25 [00280] I: TRACE AUTO SAVE: TRACE SAVED
...

5.17.2.6. DEBUG SIMULATE EVENT:HOPV

This command simulates the heap overflow event:

[14:22:01] ABILIS_CPX:debug simulate event:hovr

YOU ASKED TO SIMULATE THE 'HEAP OVERFLOW' EVENT.
THIS WILL CAUSE THE SYSTEM TO BE RESTARTED, PROCEED ANYWAY (N/Y)?y

PROCEEDING WITH HEAP OVERFLOW EVENT SIMULATION...

The log shows the following information:

...
22/04/2015 14:22:22 [00079] I: DEBUG SIMULATE HEAP OVERFLOW
22/04/2015 14:22:23 [00030] E: P02
22/04/2015 14:22:23 [00135] MEMORY SUMMARY:
22/04/2015 14:22:23 [00136]  TOT:    260,046,848
22/04/2015 14:22:23 [00137]  FREE:   123,811,664
22/04/2015 14:22:23 [00452]  HF:     123,811,664
22/04/2015 14:22:23 [00138]  HU:     114,979,568
22/04/2015 14:22:23 [00139]  HLFB:   123,811,664
22/04/2015 14:22:23 [00140]  HLUB:     8,388,608
22/04/2015 14:22:23 [00032] AUTO WARM START
22/04/2015 14:22:34 [00103] -------------------- NEW RUN --------------------
...