ciss —
Common 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):
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 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
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 supports the
“simple” and “performant” transport layer.
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 and notification messages will be reported to the console and
logs.
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.
The ciss driver supports controllers
implementing Common Interface for SCSI-3 Support Open Specification v1.04,
including:
- Compaq Smart Array 5300 (simple mode only)
- 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 E500
- HP Smart Array H240
- HP Smart Array H240ar
- HP Smart Array H240nr
- HP Smart Array H241
- HP Smart Array H244br
- HP Smart Array P212
- HP Smart Array P220i
- HP Smart Array P222
- HP Smart Array P230i
- HP Smart Array P240nr
- HP Smart Array P244br
- HP Smart Array P246br
- 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 P430
- HP Smart Array P430i
- HP Smart Array P431
- HP Smart Array P440
- HP Smart Array P440ar
- HP Smart Array P441
- HP Smart Array P530
- HP Smart Array P531
- HP Smart Array P542d
- HP Smart Array P600
- HP Smart Array P700m
- HP Smart Array P712m
- HP Smart Array P721m
- HP Smart Array P731m
- HP Smart Array P741m
- HP Smart Array P800
- HP Smart Array P812
- HP Smart Array P822
- HP Smart Array P830
- HP Smart Array P830i
- HP Smart Array P840
- HP Smart Array P840ar
- HP Smart Array P841
- HP Modular Smart Array 20 (MSA20)
- HP Modular Smart Array 500 (MSA500)
Additionally, several HP Smart Array controllers are supported by
PCI subdevice ID only, as no model name is available for them: 0x3220,
0x3222, 0x3230, 0x3231, 0x3232, 0x3233, 0x3236, 0x3238, 0x3239, 0x323A,
0x323B, 0x323C, and 0x324B (all with PCI subvendor 0x103C).