clad -- Compaq Array Controller driver


Compaq Array Controllers are high-end Driver Array Controllers that support different RAID configurations for Logical Disk volumes configured on SCSI Drives connected to the Controllers and in some cases (the Integrated Smart Array Controller) also support tape drives. Support is included for the Array Controllers in the Compaq Prosignia and Compaq Proliant servers:

Supported Controller Supported Servers
Integrated Smart Array Controller Proliant 8500
Smart 4200 Array Controller Proliant and Prosignia Servers
Smart 4250 Array Controller Proliant 6000, 7000 and 8000
Smart 431 Array Controller Proliant and Prosignia Servers

 Supported Controller          Supported Servers
 Integrated Smart Array        Proliant 8500
 Smart 4200 Array Controller   Proliant and Prosignia Servers
 Smart 4250 Array Controller   Proliant 6000, 7000 and 8000
 Smart 431 Array Controller    Proliant and Prosignia Servers
To determine the support status of your host adapter, contact your system supplier or refer to the Compatible Hardware Web Pages.

Configuring the clad driver

You can configure the clad driver using mkdev clad or editing the entries in /etc/conf/cf.d/mdevice and /etc/conf/sdevice.d/clad. See mdevice(F) and sdevice(F). Changes to these files take effect once you relink the kernel using link_unix(ADM) and reboot the system.

When using mkdev tape, use the following calculation for the bus number:

   bus number = tape drive port number + 1
(For example, if the tape drive is connected to port 1 of the controller, the bus number is 2.)

You can configure clad driver-specific characteristics by editing the /etc/conf/pack.d/clad/space.c file, which controls parameters such as as SCSI ID, I/O port address, tag queuing and so on.

Boot time configuration of SCSI

Use the bootstring(HW) parameters to override the default hardware configuration information. Of special interest are the adapter= parameter that specifies information for the host adapter card that plugs into or is part of the motherboard, and the periph= parameter that specifies information about the host adapter being used by one of the generic peripheral interfaces (Sdsk, Srom, or Stp).

ioctl commands

The clad driver supports all standard SCSI ioctls that are defined in the <sys/scsicmd.h> header file and documented on the scsi(HW) manual page.


These error messages associated with clad may display on the console. See messages(M) for general information about kernel error messages, including a list of generic device driver errors. clad driver messages and the situations in which they occur are described in the sections that follow.

Boot time

%adapter addr1-addr2 irq - type=clad ha=ha PCI slot=slot (rev)
indicates that the driver has detected and initialized an Array Controller. The controller initialized is using I/O addresses addr1 through addr2, handling interrupts using IRQ irq, and will not use DMA. This message can be used to determine the physical location of the controller given the host adapter number.


At run time when the driver detects a severe error, it issues one or more warnings. The word PANIC is followed by the following messages:

clad: Memory Pool not initialized
This indicates that insufficient memory is installed on the server to access the Array Controller. This error will not normally occur on a standard installation. It could occur on a kernel which is severely corrupted and is unable to allocate memory for the driver.

clad: Memory Corruption. Descriptor add already free
This indicates a severe memory corruption, where the memory manager in the driver panics. Here add gives the address of the descriptor that may be corrupted.

clad: <slot s>: Possible duplicate completion for %x
This indicates that a particular command list was completed twice by the controller. This condition is typically due to a possible controller firmware problem.
Any of the above problems should be reported immediately.


These messages indicate serious problems that may prevent the driver or the controller from operating correctly. They appear on the system console preceded by the word WARNING.

Although these conditions are abnormal, the driver continues to function normally, but these conditions should not be ignored.

clad: Insufficient Kernel Resources, Memory Pool Partially initialized
The driver displays this if there is insufficient memory provided by the kernel. The possible remedies are:

clad <slot s>: Event Notification Disabled, Unknown Error
The driver displays message if the Event Notification by the controller completes with an unknown error.

clad <slot s>: Event Notification Disabled, Insufficient resources
The driver displays this message if it is unable to allocate resources required for Controller Event Notification. This is a very rare occurence and it can happen only if the kernel is corrupted or there is very little installed memory on the server.

clad <slot s>: Request Timed out addr
The driver displays this message if a request addr timed out. If this request is not completed by the controller, the controller will be reset (see below) and the request will be retried. If the controller is able to complete this request before it is reset, the complete reset mechanism is aborted and the controller resumes normal operation. If this message appears frequently, without a controller reset, the timeout value in the driver space.c file should be increased. The shipped driver will have this value tuned to an optimum value for a wide variety of stress situations.

clad <slot s>: Controller will be reset
This is the second message before the reset. If the timed out request indicated above does not complete, this message will be prompted and the controller will be reset. All pending requests will be retried. This condition is a critical condition to the extent that though the driver is able to recover from it, it should not be ignored and should be reported.

clad <slot s>: Controller failed
This message is displayed, if three attempts to reinitialize the controller after a reset fail. The controller cannot be accessed at all. After this all logical volumes and tape devices will be inaccessible to the kernel. Though this will not affect the rest of the kernel if no drives on the controller were mounted, it should not be ignored and should be reported.

clad: Excess Controllers

Some controllers will be unavailable.

Update space.c and rebuild.
The shipped driver can support upto eight controllers. If more controllers have to be installed, the space.c file for the driver must be updated. There is no upper limit imposed by the driver on the number of controllers that can be supported. This limit is instead dictated by kernel resources and system resources.



SCSI interface header files




See also

boot(HW), link_unix(ADM), mdevice(F), mkdev(ADM), sconf(ADM), scsi(HW), sdevice(F)

``Adding SCSI host adapters and peripherals'' in the SCO OpenServer Handbook
SCO OpenServer System Administration Guide

© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003