man.bsd.lv manual page server

Manual Page Search Parameters

CISS(4) Device Drivers Manual CISS(4)

cissCommon Interface for SCSI-3 Support driver

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"

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

The ciss driver supports as defined in the document entitled CISS Command Interface for SCSI-3 Support Open Specification, Version 1.04, Valence Number 1, 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 (), (), etc. and via the CAM interface (), and (). 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.

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).

Controllers supported by the ciss driver include:

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, Compaq Computer Corporation, 2000/11/27.

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

July 29, 2012 DragonFly-5.6.1