CISS(4)

NAME
ciss - Common Interface for SCSI-3 Support driver

SYNOPSIS
To compile this driver into the kernel, place the following lines in your kernel configuration file:

device scbus
device ciss

Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5):

    ciss_load="YES"

DESCRIPTION
The ciss driver claims to provide a common interface between generic SCSI transports and intelligent host adapters.

The ciss driver supports CISS as defined in the document entitled dated 2000/11/27, produced by Compaq Computer Corporation.

We provide a shim layer between the ciss interface and CAM(4), offloading most of the queueing and being-a-disk chores onto CAM. Entry to the driver is via the PCI bus attachment ciss_probe(), ciss_attach(), etc. and via the CAM interface ciss_cam_action(), and ciss_cam_poll(). The Compaq ciss adapters require faked responses to get reasonable behavior out of them. In addition, the ciss command set is by no means adequate to support the functionality of a RAID controller, and thus the supported Compaq adapters utilize portions of the control protocol from earlier Compaq adapter families.

Currently ciss only supports the “simple” transport layer over PCI. This interface (ab)uses the I2O register set (specifically the post queues) to exchange commands with the adapter. Other interfaces are available, but we are not supposed to know about them, and it is dubious whether they would provide major performance improvements except under extreme load.

Non-disk devices (such as internal DATs and devices attached to the external SCSI bus) are supported as normal CAM devices provided that they are exported by the controller firmware and are not marked as being masked. Masked devices can be exposed by setting the hw.ciss.expose_hidden_physical tunable to non-zero at boot time. Direct Access devices (such as disk drives) are only exposed as pass(4) devices. Hot-insertion and removal of devices is supported but a bus rescan might be necessary.

The problem which adapter freezes with the message “ADAPTER HEARTBEAT FAILED” might be solved by updating the firmware and/or setting the hw.ciss.nop_message_heartbeat tunable to non-zero at boot time.

LOADER TUNABLES
In addition to hw.ciss.nop_message_heartbeat, the ciss driver supports a number of loader tunables:

hw.ciss.expose_hidden_physical
    This tunable controls whether physical devices that are marked hidden by the firmware should be exposed anyways. The default is 0 (to not expose hidden physical devices).

hw.ciss.force_transport
    This tunable forces a particular transport to be used. Values are 0 (use hardware specific default), 1 (forces simple transport) and 2 (forces performant transport). The default is 0 (to let the driver decide based on hardware).

hw.ciss.force_interrupt
    This tunable forces a particular interrupt delivery method to be used. Values are 0 (use hardware specific default), 1 (forces INTx) and 2 (forces MSI). The default is 0 (to let the driver decide based on hardware).

HARDWARE
Controllers supported by the ciss driver include:

•   Compaq Smart Array 5300
•   Compaq Smart Array 532
•   Compaq Smart Array 5i
•   HP Smart Array 5312
•   HP Smart Array 6i
•   HP Smart Array 641
•   HP Smart Array 642
•   HP Smart Array 6400
•   HP Smart Array 6400 EM
•   HP Smart Array E200
•   HP Smart Array E200i
•   HP Smart Array P212
•   HP Smart Array P220i
•   HP Smart Array P222
•   HP Smart Array P400
•   HP Smart Array P400i
•   HP Smart Array P410
•   HP Smart Array P410i
•   HP Smart Array P411
•   HP Smart Array P420
•   HP Smart Array P420i
•   HP Smart Array P421
•   HP Smart Array P600
•   HP Smart Array P721m
•   HP Smart Array P800
•   HP Smart Array P812
•   HP Modular Smart Array 20 (MSA20)
•   HP Modular Smart Array 500 (MSA500)

SEE ALSO
cam(4), pass(4), xpt(4), loader.conf(5), camcontrol(8) CISS Command Interface for SCSI-3 Support Open Specification, Version 1.04, Valence Number 1, 2000/11/27, Compaq Computer Corporation.

AUTHORS
-nosplit The ciss driver was written by Mike Smith <msmith@FreeBSD.org>.

This manual page is based on his comments and was written by Tom Rhodes <trhodes@FreeBSD.org>.