C H A P T E R  6

Sun Enterprise Midrange Systems

This chapter contains the latest information for the Sun Enterprise systems running the Solaris 9 9/05 operating environment. These include the Sun Enterprise 6500, 6000, 5500, 5000, 4500, 4000, 3500, and 3000 systems, and the Sun Fire E2900, E4900 and E6900 systems. This chapter covers:

The Solaris 9 9/05 operating environment includes support for all CPU/memory boards and most I/O boards in the systems mentioned above.


Dynamic Reconfiguration on Sun Enterprise 6x00, 5x00, 4x00, and 3x00 Systems

These release notes provide the latest information on Dynamic Reconfiguration (DR) functionality for Sun Enterprise 6x00, 5x00, 4x00, and 3x00 systems running the Solaris 9 9/05 operating environment. For more information on Sun Enterprise Server Dynamic Reconfiguration, refer to the Dynamic Reconfiguration User's Guide for Sun Enterprise 3x00/4x00/5x00/6x00 Systems.

The Solaris 9 9/05 operating environment includes support for CPU/memory boards and most I/O boards in Sun Enterprise 6x00, 5x00, 4x00, and 3x00 systems.

Supported Hardware

Before proceeding, ensure that the system supports dynamic reconfiguration. If you see the following message on your console or in your console logs, the hardware is of an older design and not suitable for dynamic reconfiguration.

Hot Plug not supported in this system

I/O board type 2 (graphics), type 3 (PCI), and type 5 (graphics and SOC+) are not currently supported.

Software Notes

To Enable Dynamic Reconfiguration

In the /etc/system file, two variables must be set to enable dynamic reconfiguration and an additional variable must be set to enable the removal of CPU/memory boards.

1. Log in as superuser.

2. To enable dynamic reconfiguration, edit the /etc/system file and add the following lines to the /etc/system file:

set pln:pln_enable_detach_suspend=1
set soc:soc_enable_detach_suspend=1

3. To enable the removal of a CPU/memory board, add this line to the /etc/system file:

set kernel_cage_enable=1

Setting this variable enables the memory unconfiguration operation.

4. Reboot the system to put the changes into effect.

Quiesce Test

On a large system, the quiesce-test command (cfgadm -x quiesce-test sysctrl0:slotnumber) might run as long as a minute or so. During this time no messages are displayed if cfgadm does not find incompatible drivers. This is normal behavior.

Disabled Board List

If a board is on the disabled board list, an attempt to connect the board might produce an error message:

# cfgadm -c connect sysctrl0:slotnumber
cfgadm: Hardware specific failure: connect failed: board is
 disabled: must override with [-f][-o enable-at-boot]

To override the disabled condition, use the force flag (-f) or the enable option
(-o enable-at-boot) with the cfgadm command:

# cfgadm -f -c connect sysctrl0:slotnumber


# cfgadm -o enable-at-boot -c connect sysctrl0:slotnumber

To remove all boards from the disabled board list, set the disabled-board-list variable to a null set with the system command:

# eeprom disabled-board-list=

If you are at the OpenBoot prompt, use this OpenBoot PROM command instead of the previous one to remove all boards from the disabled board list:

OK set-default disabled-board-list

For further information about the disabled-board-list setting, refer to the "Specific NVRAM Variables" section in the Platform Notes: Sun Enterprise 3x00, 4x00, 5x00, and 6x00 Systems manual in the documentation set in this release.

Disabled Memory List

For information about the OpenBoot PROM disabled-memory-list setting, refer to the section "Specific NVRAM Variables" in the Platform Notes: Sun Enterprise 3x00, 4x00, 5x00, and 6x00 Systems in the Solaris on Sun Hardware documentation set in this release.

Unloading Detach-Unsafe Drivers

If it is necessary to unload detach-unsafe drivers, use the modinfo(1M) line command to find the module IDs of the drivers. You can then use the module IDs in the modunload(1M) command to unload detach-unsafe drivers.

Interleaved Memory

A memory board or CPU/memory board that contains interleaved memory cannot be dynamically unconfigured.

To determine if memory is interleaved, use the prtdiag command or the cfgadm command.

To permit DR operations on CPU/memory boards, set the NVRAM
memory-interleave
property to min.

For related information about interleaved memory, see Memory Interleaving Set Incorrectly After a Fatal Reset (Bug ID 4156075) and DR: Cannot Unconfigure a CPU/Memory Board That Has Interleaved Memory (Bug ID 4210234).

Self-Test Failure During a Connect Sequence

If the error cfgadm: Hardware specific failure: connect failed: firmware operation error is displayed during a DR connect sequence, remove the board from the system as soon as possible. The board has failed self-test, and removing the board avoids possible reconfiguration errors that can occur during the next reboot.

If you want to immediately retry the failed operation, you must first remove and reinsert the board, because the board status does not allow further operations.


Known Bugs

The following list is subject to change at any time.

Memory Interleaving Set Incorrectly After a Fatal Reset (Bug ID 4156075)

Memory interleaving is left in an incorrect state when a Sun Enterprise x500 server is rebooted after a fatal reset. Subsequent DR operations fail. The problem only occurs on systems with memory interleaving set to min.

Workarounds: Two choices are listed.

To clear the problem after it occurs, manually reset the system at the OK prompt.

To avoid the problem before it occurs, set the NVRAM memory-interleave property to max.

This causes memory to be interleaved whenever the system is booted. However, you might find this option to be unacceptable, as a memory board containing interleaved memory cannot be dynamically unconfigured. See DR: Cannot Unconfigure a CPU/Memory Board That Has Interleaved Memory (Bug ID 4210234).

DR: Cannot Unconfigure a CPU/Memory Board That Has Interleaved Memory (Bug ID 4210234)

Cannot unconfigure a CPU/memory board that has interleaved memory.

To unconfigure and subsequently disconnect a CPU board with memory or a memory-only board, it is necessary to first unconfigure the memory. However, if the memory on the board is interleaved with memory on other boards, the memory cannot currently be unconfigured dynamically.

Memory interleaving can be displayed using the prtdiag or the cfgadm commands.

Workaround: Shut down the system before servicing the board, then reboot afterward. To permit future DR operations on the CPU/memory board, set the NVRAM memory-interleave property to min. See also Memory Interleaving Set Incorrectly After a Fatal Reset (Bug ID 4156075) for a related discussion on interleaved memory.

DR: Cannot Unconfigure a CPU/Memory Board That Has Permanent Memory (Bug ID 4210280)

To unconfigure and subsequently disconnect a CPU board with memory or a memory-only board, it is necessary to first unconfigure the memory. However, some memory cannot currently be relocated. This memory is considered permanent.

Permanent memory on a board is marked "permanent" in the cfgadm status display:

# cfgadm -s cols=ap_id:type:info
Ap_Id Type Information
ac0:bank0 memory slot3 64Mb base 0x0 permanent
ac0:bank1 memory slot3 empty
ac1:bank0 memory slot5 empty
ac1:bank1 memory slot5 64Mb base 0x40000000

In this example, the board in slot3 has permanent memory and so cannot be removed.

Workaround: Shut down the system before servicing the board, then reboot afterward.

cfgadm Disconnect Fails When Running Concurrent cfgadm Commands (Bug ID 4220105)

If a cfgadm process is running on one board, an attempt to simultaneously disconnect a second board fails.

A cfgadm disconnect operation fails if another cfgadm process is already running on a different board. The message is:

cfgadm: Hardware specific failure: disconnect failed: nexus error during detach: address

Workaround: Do only one cfgadm operation at a time. If a cfgadm operation is running on one board, wait for it to finish before you start a cfgadm disconnect operation on a second board.

Cannot Drain or Detach Sun Enterprise Server Boards That Host QFE Cards (Bug ID 4231845)

A server configured as a boot server for Solaris 2.5.1-based Intel platform clients runs several rpld jobs, whether or not such devices are in use. These active references prevent DR operations from detaching these devices.

Workaround: Perform a DR detach operation:

1. Remove or rename the /rplboot directory.

2. Shut down NFS services with this command:

# sh /etc/init.d/nfs.server stop

3. Perform the DR detach operation.

4. Restart NFS services with this command:

# sh /etc/init.d/nfs.server start