A P P E N D I X  A

Diagnostics and Troubleshooting

This appendix provides an overview of the diagnostic tools and instructions for invoking tests on the Sun Fire B10n content load balancing blade. There is also a section outlining some common troubleshooting issues. This appendix contains the following sections:


Diagnostic Tools

Diagnostics for the Sun Fire B10n content load balancing blade includes NPU Power On Self Test (POST) routines, manually invoked tests, error logging routines, and debugging commands.

These diagnostics can be loosely broken down into two levels:

Additional functions allow you to manually run ROM, RAM, and I/O, interface tests as well RAM and ROM read loops.


NPU POST and SDRAM Diagnostic Tests

When you boot the Sun Fire B10n content load balancing blade, you can choose from a menu to run the NPU POST, SDRAM, or LoopBack test.

Following is an example of the diagnostics menu:

CODE EXAMPLE A-1 Diagnostics Menu
Copyright © 2003 Sun Microsystems, Inc.
Copyright 1984-2001  Wind River Systems, Inc.
Booting SunFire B10n Blade
Bootrom Build Date: May 12 2003, 22:36:42
 
Press any key to choose configuration file option...
 0
Press any key to choose boot image...
 2
Specify Image To Boot '1 | 2 | d'> d
 
Booting diag image
 
Booting Image /RFA0/BOOTIMAGE/boot_image_diag ...2157728
 
Initializing RDRAM              ...  Done
Initializing SDRAM ECC          ...  Done
Initializing BSC Interface      ...  Done
Initializing Classifier Driver  ...  Done
 
Initialization done
 
****Entering Diag Code ****
                                PUMA Diagnostic Menu option:
                                =============================
                                Puma Memory Test(SDRAM)          r
                                Puma Loopback Test               l
                                Puma NPU Test                    n
                                Puma Image Update                f
                                Quit                             q
                                Specify the Test type :r

You can choose the specific tests from this menu. If you choose r, then the memory test is invoked and the next menu is displayed, for example:

CODE EXAMPLE A-2 Memory Test Options

                                PUMA Diagnostic Menu option:
                                =============================
 
                                Puma Memory Test(SDRAM)          r
                                Puma Loopback Test               l
                                Puma NPU Test                    n
                                Puma Image Update                f
                                Quit                             q
                                Specify the Test type :r
Memory Test
 
 
 
 
                                List of SDRAM Memory Test to run
                                ================================
 
                                Marching Test            m
                                MarchB Test              b
                                Quit                     q
                                Specify the Test type :m
March8 Test
                                Valid Test Types BASIC | FULL | SPECIFY :BASIC
****RUNNING MARCHING32 TEST from Address 0x30000000 to Address 0x30100000
Marching Test: March32 test on memory starting at 0x30000000 and ending at 0x30100000.
Successfully completed Marching test
 
 
 
Hit [RETURN] to Enter the Memory Menu

Following is an example of the SDRAM memory test menu:

List of SDRAM Memory Test to run
================================
 
Marching Test            m
MarchB Test              b
Quit                     q
Specify the Test type :

Similarly other tests and Test Types can be performed. Typing q takes you to the previous menu where other tests can be performed, for example:

CODE EXAMPLE A-3 Example of Tests
List of SDRAM Memory Test to run
================================
 
Marching Test            m
MarchB Test              b
Quit                     q
Specify the Test type :q
 
 
PUMA Diagnostic Menu option:
=============================
 
Puma Memory Test(SDRAM)          r
Puma Loopback Test               l
Puma NPU Test                    n
Puma Image Update                f
Quit                             q
Specify the Test type :l
Initializing NPU Driver         ...  Done
Loopback test
 
 
LoopBack Test Options
=================================
 
Serdes(Internal) LoopBack                        s
Back-To-Back(External) LoopBack                  b
NPU-To-Focus FPGA LoopBack                       n
Quit                             q
 
Specify the Test type :

CODE EXAMPLE A-3 shows the choices for the various LoopBack tests between the two Gigabit Ethernet interfaces.

  • The Serdes (Internal) LoopBack: This does a Internal loopback from Interface 0 to Interface 1 and back again to Interface 0. Packets of a predefined size are sent from one interface to the other and back to the originating interface and checked for correctness, errors, and so on. Then the statistics are displayed.
  • Back -To -Back (External) Loopback: This requires external cabling between the two Interfaces, hence this is probably not possible on a Sun Fire B1600 chassis.
  • NPU-To_Focus FPGA Loopback: This is similar to the Internal Loopback with the classifier bypassed.
  • PUMA Diagnostic Menu option:
    
    =============================
    
     
    
    Puma Memory Test(SDRAM)          r
    
    Puma Loopback Test               l
    
    Puma NPU Test                    n
    
    Puma Image Update                f
    
    Quit                             q
    
    Specify the Test type :n
    

Choosing n, Puma NPU Test, runs an automated test on the Network Processor module.

Choosing f, Puma Image Update, allows you to update the Image from the Diagnostics menu. Currently, this option is not available.

Quitting the Diagnostics menu automatically reboots the blade. See The Boot Process for how to boot the blade and choose images for booting.

After the tests complete, the board resets itself and returns to the boot prompt and chooses the default image (Image 1) to start the Sun Fire B10n content load balancing blade application (the application image for doing the Load Balancing).

Additionally, you can invoke the NPU test, using the following syntax:

puma{admin}# dump module module_name index 

For example:

puma{admin}# dump module npu 1

The dump module command produces output similar to the following example:

--- MulticastIdManager ---
Agent Base      = 40000000
Register Base   = 14030000
FBUS Errors     = 00
 
DBS[0] Base = 01600000
DBS[0] Size = 2
 
DBS[1] Base = 02600000
DBS[1] Size = 2
 
DBS[2] Base = 03600000
DBS[2] Size = 2
 
DBS[3] Base = 04600000
DBS[3] Size = 2
 
DBS[4] Base = 00000000
DBS[4] Size = 0
 
DBS[5] Base = 00000000
DBS[5] Size = 0
 
DBS[6] Base = 00000000
DBS[6] Size = 0
 
DBS[7] Base = 00000000
DBS[7] Size = 0
 
MID_DEALLOC_PTR     = 0000000000000000
MID_DEALLOC_DBP(0)  = 0000000000000000
MID_DEALLOC_DBP(1)  = 0000000000000000
MID_DEALLOC_DBP(2)  = 0000000000000000
MID_DEALLOC_DBP(3)  = 0000000000000000
MID_DEALLOC_DBP(4)  = 0000000000000000
MID_DEALLOC_DBP(5)  = 0000000000000000
MID_DEALLOC_DBP(6)  = 0000000000000000
MID_DEALLOC_DBP(7)  = 0000000000000000
 
puma{admin}# 

Various modules will dump the Registers based on which index you choose (if present). The basic POST test is still run on all images at boot time.

 


Image Management and Troubleshooting

The Sun Fire B10n content load balancing blade has 32 MB (16MB X 2 Devices) of flash memory. All the system images and configuration information are stored in the flash memory.

The different system images are:

  • Boot Image--Bootloader image, one for each blade
  • Application image--The image that has all the software to do load balancing, two images for each board and one diag image.

When the blade is shipped, both the images are the same. Later you can upgrade to image 1 or image 2 from the CLI and do a commit to say you want to use the latest image. When the system is rebooted the config file is read to pick the right image to boot. By default Image 1 is loaded by the boot loader (Boot image) unless you commit image 2 from the CLI.

Choosing the diagnostic image (Image d) allows you to troubleshoot the blade.

The Boot Process

Once the content load balancing blade is powered on in a Sun Fire B1600 blade system chassis, it goes through the boot process. The boot loader starts an auto_boot by counting down two seconds before it picks up the default application image (image 1) or the image committed into the configuration file.

Actually it reads the config file for every boot to see which image to auto_boot. If for some reason the boot loader cannot boot the image, it returns to the boot prompt and prompts you to specify the other known good image (if for some reason the default is corrupted). This is one reason to have two images.

Following is a boot example:

CODE EXAMPLE A-4 Boot Example
Copyright © 2003 Sun Microsystems, Inc.
 
Copyright 1984-2001  Wind River Systems, Inc.
 
Booting SunFire B10n Blade
Bootrom Build Date: May  5 2003, 12:22:23
 
Press any key to choose configuration file option...
 0
Press any key to choose boot image...
 0
auto-booting...
 
Booting Image /RFA0/BOOTIMAGE/boot_image_1 ...3132576
 
Initializing RDRAM              ...  Done
Initializing SDRAM ECC          ...  Done
Initializing BSC Interface      ...  Done
Initializing Classifier Driver  ...  Done
Initializing NPU Driver         ...  Done
Initializing Lookup Pool        ...  Done
Initializing Lookup Table CPU   ...  Done
Initializing Lookup Table NPU   ...  Done
 
Initialization done
 
Attaching network interface lo0... done.
Invalid device "tffs=0,00"
 
Using configuration directory: /RFA0/CONFIG/config_1
Classifier import failed [-712]
Application Initialization complete
 
Launching the Puma CLI!
Login:admin
Password:
Puma{admin}# 

In CODE EXAMPLE A-1, note the one line of user interaction:

Press any key to choose boot image...
0
auto-booting...

You have two seconds to decide whether you want to continue with the auto_boot or interrupt and choose the image you want to load.

In the following example, the user chose the image to boot:

puma{admin}# reboot
reboot: Are you sure to continue? [yes|no] yes
 
Copyright 1984-2001 Wind River Systems, Inc.
 
Booting SunFire Content Load Balancing Blade
Build Date: Apr 3 2003, 19:39:54
 
Press any key to choose boot image...
1
 
Specify Image To Boot '1 | 2 | d'> 

By interrupting the boot before it could auto_boot, you see the images you can choose from, that is, Image 1, Image 2, or the Diags Image.

In the following example, the user chose the diags image, but that image was not available. Therefore the system returned an error message. Then prompted the user to pick the right available image:

Press any key to choose boot image...
1
 
Specify Image To Boot '1 | 2 | d'> d
Error: Image <diag> boot file not found
 
Specify Image To Boot '1 | 2 | d'> d
 
Booting diag image
 
Booting Image /RFA0/BOOTIMAGE/boot_image_diag ...2157728
 
Initializing RDRAM              ...  Done
Initializing SDRAM ECC          ...  Done
Initializing BSC Interface      ...  Done
Initializing Classifier Driver  ...  Done
 
Initialization done


Setting the Diagnostic Level

The default setting for the diagnostic level is 0. The default setting disables the test invocation. To run the text, you must set the diag_level to 1.


procedure icon  To Set the Diagnostic Level

1. As admin, enter config mode:

B10n {admin} # config

2. Set the diagnostic level to enable testing:

B10n {config} {admin} # diag level 1



Note - diag_level is either 0 or 1 and 0 is default. You must reboot for the new setting to take effect.