C H A P T E R  2


Before troubleshooting your specific workstation problem, collect the following information:

After you have assessed the problem and noted your current configuration and environment, perform the following steps to troubleshoot your workstation:

1. Inspect your system as described in Section 2.1, Visual Inspection.

2. Use the procedures in Section 2.2, Troubleshooting Procedures.

3. If you receive a POST code, look for its description in Section 2.3, Ultra 40 and Ultra 40 M2 Workstation POST Codes in order to isolate the problem.

4. Execute diagnostics tests as described in Chapter 3.

5. If these actions do not resolve the problem, contact Sun technical support. Support numbers and web sites are listed in Section 2.4, Technical Assistance.

2.1 Visual Inspection

Improperly set controls and loose or improperly connected cables often cause problems with hardware components. When investigating a system problem, first verify that all the external switches, controls, and cable connections are set correctly or connected securely. See Section 2.1.1, Performing an External Visual Inspection.

If this does not resolve the problem, visually inspect the system’s interior hardware for problems such as loose cards, cable connectors, or mounting screws. See Section 2.1.2, Performing an Internal Visual Inspection.

2.1.1 Performing an External Visual Inspection

To perform an external visual inspection:

1. Turn off the system and any attached peripherals (if applicable).

2. Verify that the power cables between the system, the monitor, and all peripherals are properly connected.

3. Inspect connections to any attached devices, including network cables, keyboard, monitor, and mouse, as well as any devices attached to the serial port.

2.1.2 Performing an Internal Visual Inspection

To perform an internal visual inspection:

1. Shut down the operating system, if necessary, and turn off the platform power using the Power button on the front of the workstation.

2. Turn off any attached peripherals, but do not disconnect the power cables.

3. Remove the left side panel, following the procedures in Section 4.3, Preparing the Workstation for Servicing.

caution icon Caution - Some components, such as the heatsink, can become extremely hot while the system is operating. Allow these components to cool before handling them.

4. Verify that the components are fully seated in their sockets or connectors and that the sockets are clean.

5. Verify that all cables inside the system are firmly attached to their appropriate connectors.

6. Replace the left side panel.

7. Reconnect the system and any attached peripherals to their power sources, and then power them on.

2.2 Troubleshooting Procedures

TABLE 2-1 lists common problems and their solutions. If the solutions listed here do not fix the problem, run the appropriate diagnostic tests described in Chapter 3.

Note - Keep notes describing any problems and attempted solutions, in case you need to call Sun technical support.

TABLE 2-1 Troubleshooting Procedures


Possible Solution

Workstation does not power on when the front-panel Power button is pressed.

  • Is the Power button LED illuminated on the front of the system? Ensure that the power cord is connected to the system and to a grounded power receptacle.
  • Does the wall outlet have power? Test it by connecting another device.
  • Does the system beep when the system is powered on? If not, ensure that the keyboard is plugged in.
  • Try another keyboard that you know is functional. Does the system beep when you connect the keyboard and power on the system?
  • Does the monitor sync within five minutes after the power-on? The green LED on the monitor stops flashing and remains illuminated.
  • Is the monitor connected to the on-board video connector or PCI Express video connector?

Workstation powers on, but but a POST code is displayed.

Workstation powers on, but the monitor does not.

  • Is the Power button for the monitor turned on?
  • Is the monitor power cord connected to a wall outlet?
  • Does the wall outlet have power? Test it by connecting another device.
  • Is the monitor connected to the PCI Express video connector?

CD or DVD does not eject when the Eject button is pressed.

  • Move the mouse or press any key on the keyboard. The drive might be in the low-power mode.
  • Use the utility software installed on your workstation to eject the CD.

Workstation does not power off when the front-panel Power button is pressed.

The network status indicator does not light.

  • Check the cabling and network equipment to ensure that all cables are correctly seated.
  • Reinstall the network drivers.

An external device connected to a USB connector does not work.

  • Reduce the number of external devices connected to a USB hub.
  • Connect the device to a USB hub and connect the hub to the USB ports on the workstation.
  • Refer to the documentation that is packaged with the device.

System cannot read the disk.

1. Turn off the workstation by pressing the Power button.

2. Remove the left side panel.

3. Ensure that the power and data cables are connected to the disk drive backplane and that the pins in the cable and connector are not bent.

4. Replace the left side panel.

5. Turn on the workstation.

6. Verify disk appears in BIOS boot menu.

System cannot read the compact disc.

  • Are you using the correct type of compact disc?
  • Is the compact disc properly inserted in the drive?
  • Is the compact disc clean and unscratched?
  • Are the cables connected to the DVD drive?

Keyboard or mouse does not respond to actions.

  • Verify that the mouse and keyboard cables are connected to the on-board USB 2.0 connectors on the workstation.
  • Verify that the workstation is powered on and that the front Power LED is illuminated.

Workstation appears to be in low-power mode, but the Power LED does not blink.

The power-indicator LED blinks only when all workstation components are in low-power mode. A tape drive might be connected to your workstation. Because tape drives do not enter low-power mode, the power-indicator LED does not blink.

Hung or frozen workstation: No response from mouse or keyboard or any application.

Try to access your system from a different workstation on the network.

  1. From a terminal window, type: ping hostname
  2. If there is no response, log in remotely from another system using telnet or rlogin, and use the ping command again to access the system.
  3. Attempt to kill processes until the system responds.

If the above procedures do not work:

  1. Press the Power button to power off the system.
  2. Wait 20 to 30 seconds and power on the system.

See Section 1.4, Powering the Workstation On and Off for more detailed information.

There is no video display on the monitor screen.


Check the following:

  • Is the cable connected to the PCI Express video connector?
  • Is the monitor power cord connected to the power outlet?
  • Does the wall outlet have power? Test it by connecting another device.
  • Is the video card seated correctly in its connector?
  • Are the internal cables properly connected to the video card?
  • Does the monitor work when connected to another system?
  • If you have another monitor, does it work when connected to the original system?
  • Verify that the BIOS settings are correct.

External device is not working.

Check the documentation packaged with the device to determine whether any device drivers must be installed.

  • Ensure that the cables for the external device are firmly connected and that the pins in the cable and connector are not bent.
  • Power off the system, reattach the external device, and power on the system.

Newly installed memory is not detected.


  • Ensure that the memory is properly seated on the DIMM sockets.
  • Move the memory to the other DIMM socket to determine whether the socket is defective.
  • Ensure that you are using the correct DIMMs:
  • Ultra 40 - 512 MB, 1 GB, 2-GB, or 4 GB DDR 400 SDRAM modules with 3.05-cm max. height.
  • Ultra 40 M2 - 1 GB, 2 GB, or 4 GB DDR2-667 SDRAM modules with 38-mm max. height.
  • Ensure that the memory is installed in the following order. Note that the DIMM connectors on the motherboard are color-coded blue and black.
  • Single-CPU systems:

0/1 (black)

2/3 (blue)

  • Dual-CPU systems:

0/1 (black)

4/5 (black)

2/3 (blue)

6/7 (blue)

  • If your system has a single CPU, ensure that no DIMMs are installed in 4/5 or 6/7.
  • Ensure that the DIMMs in each pair are from the same manufacturer and are identical in size and architecture.
  • Ensure that if the DIMMs are different sizes, the largest goes in 0/1.

See Section 5.2.1, DIMM Configuration Rules for DIMM configuration rules.

2.3 Ultra 40 and Ultra 40 M2 Workstation POST Codes

The following table lists descriptions of system POST codes in the order in which they are generated. These POST codes appear as two digit hexidecimal output (unless specified otherwise) either to the server’s display or LED display on the motherboard.

During POST, the BIOS outputs the error code to I/O port 80h. The workstation motherboard is equipped with a two segment LED display that displays the current value of port 80h.

If the BIOS detects a terminal error condition, it issues a terminal-error beep code, attempts to display the error code on upper left corner of the screen and on the port 80h LED display, and halts POST. If the system hangs before the BIOS can process the error, the value displayed at port 80h is the last test performed.

TABLE 2-2 Ultra 40 and Ultra 40 M2 POST Codes






Get CPU type from CPU registers and other methods. Save CPU type in NVRAM. NOTE: Hook routine should not alter DX, which

holds the powerup CPU ID..



Initialize system hardware. Reset the DMA controllers, disable the videos, clear any pending interrupts from the real-time clock and set up port B register.



Disable system ROM shadow and start to execute ROMEXEC code from the flash part. This task is pulled into the build only when the ROMEXEC relocation is installed.



Initialize chip set registers to the Initial POST Values.



Set in-POST flag in CMOS that indicates we are in POST. If this bit is not cleared by postClearBootFlagJ (AEh), the BIOS on next boot determines that the current configuration caused POST to fail and uses default values for configuration.

Clear the CMOS diagnostic byte (register E). Check the real-time clock and verify the battery has not lost power. Checksum the CMOS and verify it has not been corrupted (Rel. 6.0).



Initialize CPU registers.



Enable CPU cache. Set bits in cmos related to cache.



Set the initial POST values of the cache registers if not integrated into the chipset.



Set the initial POST values for registers in the integrated I/O chip.



Enable the local bus IDE as primary or secondary depending on other drives detected.



Initialize Power Management.



General dispatcher for alternate register initialization. Set initial POST values for other hardware devices defined in the register tables.



Restore the contents of the CPU control word whenever the CPU is reset.



Early reset of PCI devices required to disable bus master. Assumes the presence of a stack and running from decompressed shadow memory.



Verify that the 8742 keyboard controller is responding. Send a self-test command to the 8742 and wait for results. Also read the switch inputs from the 8742 and write the keyboard controller command byte.



Verify that the ROM BIOS checksums to zero.



Initialize external cache before autosizing memory.



Initialize all three of the 8254 timers. Set the clock timer (0) to binary count, mode 3 (square wave mode), and read/write LSB then MSB. Initialize the clock timer to zero. Set the RAM refresh timer (1) to binary count, mode 2 (Rate Generator), and read/write LSB only. Set the counter to 12H to generate the refresh at the proper rate. Set sound timer (2) to binary count, mode 3, and read/write LSB, then MSB.



Initialize DMA command register with these settings:

1. Memory to memory disabled

2. Channel 0 hold address disabled

3. Controller enabled

4. Normal timing

5. Fixed priority

6. Late write selection

7. DREQ sense active

8. DACK sense active low.

Initialize all 8 DMA channels with these settings:

1. Single mode

2. Address increment

3. Auto initialization disabled (channel 4 - Cascade)

4. Verify transfer



Initialize interrupt controllers for some shutdowns.



Verify that DRAM refresh is operating by polling the refresh bit in PORTB.



Reset the keyboard.



Set segment-register addressibility to 4 GB.



Using the table of configurations supplied by the specific chipset module, test each DRAM configuration to see if that particular configuration is valid. Then program the chipset to its autosized configuration.

Before autosizing, disable all caches and all shadow RAM.



Initialize the POST Memory Manager.



Zero the first 512K of RAM.



Test 512K base address lines.

NOTE: If the BIOS detects error 2C, 2E, or 30 (base 512K RAM error), it displays an additional word-bitmap (xxxx) indicating the address line or bits that failed. For example, "2C 0002" means address line 1 (bit one set) has failed. "2E 1020" means data bits 12 and 5 (bits 12 and 5 set) have failed in the lower 16 bits. The BIOS also sends the bitmap to the port-80 LED display. It first displays the check point code, followed by a delay, the high-order byte, another delay, and then the low-order byte of the error. It repeats this sequence continuously.



Test first 512K of RAM. See note for code 2C.



Initialize external cache before shadowing.



RAM failure on data bits xxxx of high byte of memory bus. See note for code 2C.



Compute CPU speed.



Initialize the Phoenix Dispatch Manager.



Vector to proper shutdown routine.



Shadow the system BIOS.



Autosize external cache and program cache size for enabling later in POST.



If CMOS is valid, load chipset registers with values from CMOS, otherwise load defaults and display Setup prompt. If Auto Configuration is enabled, always load the chipset registers with the Setup defaults (Rel 6.0).



Load alternate registers with CMOS values. Registertable pointers are in the altregtable segment.



Initialize extended memory for RomPilot.



Initialize interrupt vectors 0 thru 77h to the BIOS general interrupt handler.



Initialize all motherboard devices.



Verify the ROM copyright notice.



Initialize support for I2O by initializing global variables used by the I2O code. Pause POST table processing if a CMOS bit is set (for debugging).



Verify that the equipment specified in the CMOS matches the hardware currently installed. If the monitor type is set to 00 then a video ROM must exist. If the monitor type is 1 or 2 set the video switch to CGA. If monitor type 3, set the video switch to mono. Also specify in the equipment byte that disk drives are installed. Set appropriate status bits in CMOS or the BDA if configuration errors are found.



Perform these tasks:

1. Size the PCI bus topology and set bridge bus numbers.

2. Set the system max bus number.

3. Write a 0 to the command register of every PCI device.

4. Write a 0 to all 6 base registers in every PCI device.

5. Write a -1 to the status register of every PCI device.

6. Find all IOPs and initialize them.



Initialize all video adapters in system.



Initialize QuietBoot if it is installed. Enable both keyboard and timer interrupts (IRQ0 and IRQ1). If your POST tasks require interrupts off, preserve them with a PUSHF and CLI at the beginning and a POPF at the end. If you change the PIC, preserve the existing bits.



Shadow video BIOS ROM if specified by Setup, and CMOS is valid and the previous boot was OK.



Display copyright notice.



Initialize MultiBoot. Allocate memory for old and new MultiBoot history tables.



Display CPU type and speed.



Checksum CMOS and initialize each EISA slot with data from the initialization data block.



Verify keyboard reset.



Initialize keystroke clicker if enabled in Setup.



Enable USB devices.



Test for unexpected interrupts. First do an STI for hot interrupts. Secondly, test the NMI for an unexpected interrupt. Thirdly, enable the parity checkers and read from memory, checking for an unexpected interrupt.



Register POST Display Services, fonts, and languages with the POST Dispatch Manager.



Display prompt "Press F2 to enter SETUP.



Disable CPU cache.



Test RAM between 512K and 640K.



Determine and test the amount of extended memory available. Determine if memory exists by writing to a few strategic locations and see if the data can be read back. If so, perform an address-line test and a RAM test on the memory. Save the total extended memory size in the CMOS at cmosExtended.



Perform an address line test on A0 to the amount of memory available. This test is dependent on the processor, since the test will vary depending on the width of memory (16 or 32 bits). This test will also use A20 as the skew address to prevent corruption of the system memory.



Jump to UserPatch1.



Set cache registers to their CMOS values if CMOS is valid, unless auto configuration is enabled, in which case load cache registers from the Setup default table.



Quick initialization of all Application Processors in a multi-processor system.



Enable external cache and CPU cache if present. Configure non-cacheable regions if necessary. NOTE: Hook routine must preserve DX, which carries the cache size to the DisplayCacheSizeJ routine.



Initialize the handler for SMM.



Display external cache size on the screen if it is non-zero. NOTE: Hook routine must preserve DX, which carries the cache size from the cacheConfigureJ routine.



If CMOS is bad, load Custom Defaults from flash into CMOS. If successful, reboot.



Display shadow message.



Display the starting offset of the non-disposable segment of the BIOS.



Check flags in CMOS and in the BIOS data area for errors detected during POST. Display error messages on the screen.



Check status bits to see if configuration problems were detected. If so, display error messages on the screen.



Check status bits for keyboard-related failures. Display error messages on the screen.



Initialize the hardware interrupt vectors from 08 to 0F and from 70h to 77H. Also set the interrupt vectors from 60h to 66H to zero.



Initialize Intelligent System Monitoring.



The Coprocessor initialization test. Use the floating point instructions to determine if a coprocessor exists instead of the ET bit in CR0.



Disable onboard COM and LPT ports before testing for presence of external I/O devices.



Run late device initialization routines.



Test and identify RS232 ports.



Configure Fixed Disk Controller.



Test and identify parallel ports.



Display any ESCD read errors and configure all PnP ISA devices.



Initialize onboard I/O and BDA according to CMOS and presence of external devices.



Initialize motherboard configurable devices.



Initialize interrupt controller.



Enable non-maskable interrupts.



Initialize Extended BIOS Data Area and initialize the mouse.



Setup interrupt vector and present bit in Equipment byte.



Initialize both of the floppy disks and display an error message if failure was detected. Check both drives to establish the appropriate diskette types in the BIOS data area.



Count the number of ATA drives in the system and update the number in bdaFdiskcount.



Initialize hard-disk controller. If the CMOS ram is valid and intact, and fixed disks are defined, call the fixed disk init routine to intialize the fixed disk system and take over the appropriate interrupt vectors.



Configure the local bus IDE timing register based on the drives attached to it.



Jump to UserPatch2.



Build the MPTABLE for multi-processor boards.



1. Check CMOS for CD-ROM drive present

2. Activate the drive by checking for media present

3. Check sector 11h (17) for Boot Record Volume Descriptor

4. Check the boot catalog for validity

5. Pick a boot entry

6. Create a Specification Packet



Reset segment-register addressibility from 4GB to normal 64K by generating a Shutdown 8.



Create pointer to Multi Processor table in Extended BDA.



Search for option ROMs. Rom scan the area from C800h for a length of BCP_ROM_Scan_Size (or to E000h by default) on every 2K boundry, looking for add on cards that need initialization.



Check support status for Self-Monitoring Analysis Reporting Technology (disk-failure warning).



Shadow miscellaneous ROMs if specified by Setup and CMOS is valid and the previous boot was OK.



Set up Power Management. Initiate power - management state machine.



Initialize Security Engine.



Enable hardware interrupts.



Check the total number of Fast Disks (ATA and SCSI) and update the bdaFdiskCount.



Verify that the system clock is interrupting.



Setup Numlock indicator. Display a message if key switch is locked.



Initialize typematic rate.



Overwrite the "Press F2 for Setup" prompt with spaces, erasing it from the screen.



Scan the key buffer to see if the F2 key was struck after keyboard interrupts were enabled. If an F2 keystroke is found, set a flag.



Enter SETUP.

If (F2 was pressed)

go to SETUP

Else if (errors were found)

display "Press F1 or F2" prompt

if (F2 is pressed)

go to setup

else if (F1 is pressed)


Else boot



Clear ConfigFailedBit and InPostBit in CMOS.



Check for errors.

If (errors were found)

beep twice

display "F1 or F2" message

if (F2 keystroke) go to SETUP

if (F1 keystroke) go to BOOT2



Inform RomPilot about the end of POST.



Change status bits in CMOS and/or the BIOS data area to reflect the fact that POST is complete.



One quick beep.



Turn off <Esc> and <F2> key checking.

IF (VGA adapter is present)

IF (OEM screen is still up)

Note OEM screen is gone.

Fade out OEM screen.

Reset video: clear screen, reset cursor, reload






If password on boot is enabled, a call is made to Setup to check password. If the user does not enter a valid password, Setup does not return.



Initialize ACPI BIOS.



Clear all screen graphics before booting.



Initialize the SMBIOS header and sub-structures.



Clear parity-error latch.



Display Boot First menu if MultiBoot is installed.



If BCP option is enabled, clear the screen before booting.



Check virus and backup reminders. Display System Summary.



Try to boot with INT 19.



Initialize the Post Error Manager.



Write PEM errors.



Display PEM errors.



Initialize system error handler.



PnPnd dual CMOS (optional).



Initialize note dock.



Initialize note dock late.



Force check (optional).



Extended checksum (optional).



Redirect Int 15h to enable target board to use remote keyboard (PICO BIOS).



Redirect Int 13h to Memory Technologies Devices such as ROM, RAM, PCMCIA, and serial disk (PICO BIOS).



Redirect Int 10h to enable target board to use a remote serial video (PICO BIOS).



Remap I/O and memory address space for PCMCIA (PICO BIOS).



Initialize digitizer device and display installed message if successful.



Unknown interrupt.

The following are for Boot Block in Flash ROM



Initialize the chipset.



Initialize the bridge.



Initialize the CPU.



Initialize system timer.



Initialize system I/O.



Check force recovery boot.



Checksum BIOS ROM.



Go to BIOS.



Initialize Multi Processor.



Set Huge Segment.



Initialilze OEM special code.



Initialize PIC and DMA.



Initialize Memory type.



Initialize Memory size.



Shadow Boot Block.



System memory test.



Initialize interrupt vectors.



Initialize Run Time Clock.



Initialize video.



Initialize System Management Modem.



Output one beep.



Boot to Mini DOS.



Clear Huge segment.



Boot to Full DOS.

2.4 Technical Assistance

If the troubleshooting procedures in this chapter fail to solve your problem, you can receive additional technical support at the Sun web sites and telephone numbers listed in the Preface, TABLE P-1.