CISS(4)
π CISS(4) β the Kernel Interfaces Manual page, but make it make sense
okay so bestie, grab your iced coffee π because this is the manual page for ciss, straight out of the Kernel Interfaces Manual (section 4, devs and drivers, iykyk). It's a lot of words but honestly? It's giving "niche but iconic." Let's go. β¨
πΈ NAME πΈ
ciss β the Common Interface for SCSI-3 Support driver. That's the whole name. That's the brand. π
π¦ SYNOPSIS π¦
So you wanna compile this driver into the kernel? Then bestie you're gonna place these exact lines in your kernel configuration file:
device scbus
device ciss
or, if loading it as a module at boot time is more your vibe, put this exact line in loader.conf(5):
ciss_load="YES"
Both are valid. Pick your fighter. π
β¨ DESCRIPTION β¨
So the ciss driver claims to provide a common interface between generic SCSI transports and intelligent host adapters β that's the pitch, and honestly it delivers.
It 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, which was produced by Compaq Computer Corporation. Iconic paperwork moment. π
Here's the tea: we provide a shim layer between the ciss interface and CAM(4), offloading most of the queueing and being-a-disk chores onto CAM. Like, CAM does the heavy lifting, ciss just vibes and hands things over. π«Ά
Entry to the driver happens via:
- the PCI bus attachment β
ciss_probe(),ciss_attach(), etc. - and via the CAM interface β
ciss_cam_action(), andciss_cam_poll().
The Compaq ciss adapters require faked responses to get reasonable behavior out of them (not me making that up, that's literally in the spec, they're high-maintenance π). Plus, 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. Throwback behavior, honestly.
Currently ciss supports the βsimpleβ and βperformantβ transport layer. Two layers. Both slay. β
Non-disk devices (like internal DATs and devices attached to the external SCSI bus) are supported as normal CAM devices β provided that they're 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 (release them from the mask, periodt π).
Direct Access devices (like 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. π₯
π PSA for anyone hitting the classic freeze: the problem where the adapter freezes with the message βADAPTER HEARTBEAT FAILEDβ might be solved by updating the firmware and/or setting thehw.ciss.nop_message_heartbeattunable to non-zero at boot time. Two options, both worth a shot. π
π§ HARDWARE π§
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)
And there's more, bestie β additionally, several HP Smart Array controllers are supported by PCI subdevice ID only, because 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.
(no name, no problem, they're still on the list π)
π SEE ALSO π
Go read these next, they're literally the friend group:
Also this absolute banger of a citation:
CISS Command Interface for SCSI-3 Support Open Specification, Version 1.04, Valence Number 1, Compaq Computer Corporation, 2000/11/27.
π AUTHORS π
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>. π«Ά
<div align="center">πΈ πΈ πΈ</div>
okay and that's the page!! π this absolute legend of a doc came from the Debian crew, dated April 6, 2026 β shoutout to them, no cap. go configure your kernel, bestie, you got this. slay. β¨π π¦
π¦ where this page comes from
- freebsd 14.5: base 14.5
- freebsd 15.1: base 15.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms