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 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 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 as RAM and ROM read loops.


NPU POST and SDRAM Diagnostic Tests

When you boot the Sun Fire B10n 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: Feb 12 2004, 16:06:00
 
Press any key to choose configuration file option...
 2
Specify Configuration To Use '1 | 2 | q' > q
 
Using stored configuration option
 
Press any key to choose boot image...
 2
Specify Image To Boot '1 | 2 | d | m'> d
 
Booting diag image
 
Booting Image /RFA0/BOOTIMAGE/boot_image_diag ...2144272
 
Initializing RDRAM              ...  Done
Initializing SDRAM ECC          ...  Done
Initializing BSC Interface      ...  Done
Initializing Classifier Driver  ...  Done
 
Initialization done
 
****Entering Diag Code ****
 
Image Information:
 
 
Image   Blade Type   Version        Build Date       Build Time     Size
-----------------------------------------------------------------------------
 
/RFA0/  - Volume is OK
diag    B10n         1.3.2_diag     02/12/04         16:09          2502011
 
 Puma DIAGNOSTICS            Rev: 1.3.1          01/31/2004          MAIN Menu
  All ................ All Test Sequence
  Ram ................ Memory Test(SDRAM)
  LBack .............. Loop Back Test
  Npu ................ NPU Test
  Dma ................ NPU DMA Test
  Manufacture ........ Manufacturing Test
 
  ESC + RETURN ......... Stop/Previous Menu
  REBoot ............... Terminate PUMADIAG and Reboot
 
   PumaDiag ==>

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 DIAGNOSTICS            Rev: 1.3.1          01/31/2004          MAIN Menu
 
  All ................ All Test Sequence
 
  Ram ................ Memory Test(SDRAM)
  LBack .............. Loop Back Test
  Npu ................ NPU Test
  Dma ................ NPU DMA Test
  Manufacture ........ Manufacturing Test
 
  ESC + RETURN ......... Stop/Previous Menu
  REBoot ............... Terminate PUMADIAG and Reboot
 
   PumaDiag ==> Ram
 Ram
  
 Puma DIAGNOSTICS           Rev: 1.3.1         01/31/2004         Memory Menu
 
  All ............. All Test Sequence
  Default ......... Default Test Sequence
  Quick ........... Quick Test Sequence
  March ........... MarchTest
  BMarch .......... March B Test
 
  FMarch Full ..... March Full Test
  BFMarch Full .... MarchB Full Test
 
  ESC + RETURN ......... Stop/Previous Menu
  REBoot ............... Terminate PUMADIAG and Reboot
 
   PumaDiag ==> March
March
 
****RUNNING MARCHING32 TEST from Address 0x30000000 to Address 0x30100000
Marching Test: March32 test on memory starting at 0x30000000 and ending at 0x30100000.
PASS!!. Completed Marching test
 
Hit [RETURN] to Enter the Memory Menu
 Memory March Test  0.............................PASSED
Completed PUMA Diagnostics Test
Memory March Test  (p=1 f=0) PASSED
 
 Puma DIAGNOSTICS           Rev: 1.3.1         01/31/2004         Memory Menu
 
  All ............. All Test Sequence
  Default ......... Default Test Sequence
  Quick ........... Quick Test Sequence
 
  March ........... MarchTest
  BMarch .......... March B Test
 
  FMarch Full ..... March Full Test
  BFMarch Full .... MarchB Full Test
 
  ESC + RETURN ......... Stop/Previous Menu
  REBoot ............... Terminate PUMADIAG and Reboot
 
   PumaDiag ==>

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
Puma DIAGNOSTICS            Rev: 1.3.1          01/31/2004          MAIN Menu
 
All ................ All Test Sequence
  Ram ................ Memory Test(SDRAM)
  LBack .............. Loop Back Test
  Npu ................ NPU Test
  Dma ................ NPU DMA Test
  Manufacture ........ Manufacturing Test
 
  ESC + RETURN ......... Stop/Previous Menu
  REBoot ............... Terminate PUMADIAG and Reboot
   PumaDiag ==> LBack
LBack
 
 Puma DIAGNOSTICS         Rev: 1.3.1       01/31/2004       NPU LoopBack Menu
 
  SErdes ........... Internal Loopback
  BAck To Back ..... External Loopback
  NPU To Focus ..... FPGA Loopback
 
  ESC + RETURN ......... Stop/Previous Menu
  REBoot ............... Terminate PUMADIAG and Reboot
 
   PumaDiag ==>      

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

Choosing SE, performs the internal loopback test. Choosing BA, performs the external loopback test. Choosing NPU, performs the FPGA loopback test.

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 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 2

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 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:

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-4, 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:

puma{admin} # config

2. Set the diagnostic level to enable testing:

puma{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.