CISS(4)
π CISS(4) β the ciss manual page, bestie edition π
Kernel Interfaces Manual Β· section 4 Β· yeah we're in the kernel drivers zone, come on in π¦
β¨ NAME β¨
ciss β the Common Interface for SCSI-3 Support driver, aka the thing that talks to your HP/Compaq RAID controller so you don't have to π
πΈ SYNOPSIS πΈ
okay so if you wanna bake this driver right into your kernel, you gotta drop these lines into your kernel configuration file, no cap:
device scbus
device ciss
and alternatively β if you'd rather just load it as a module at boot time, which is honestly the lowkey easier route β you put this one line in loader.conf(5):
ciss_load="YES"
periodt. that's it. that's the whole setup π
π¦ DESCRIPTION π¦
so ciss claims to provide a common interface between generic SCSI transports and intelligent host adapters. (the word "claims" is doing a lot of work there and I love that for us π)
it supports CISS as defined in the document CISS Command Interface for SCSI-3 Support Open Specification, Version 1.04, Valence Number 1, dated 2000/11/27, produced by Compaq Computer Corporation. iconic document. legendary really.
what it actually does: we provide a shim layer between the ciss interface and CAM(4), offloading most of the queueing and being-a-disk chores onto CAM. yes, CAM is carrying the whole group project here and honestly, main character energy. π«Ά
entry to the driver happens via:
- the PCI bus attachment β
ciss_probe(),ciss_attach(), etc. - the CAM interface β
ciss_cam_action(), andciss_cam_poll()
now. the Compaq ciss adapters require faked responses to get reasonable behavior out of them π (not me lying to a RAID controller so it behaves). on top of that, 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. they're doing their best, bestie.
currently ciss supports the βsimpleβ and βperformantβ transport layer. two layers, both valid, both slay β¨
non-disk devices (think internal DATs, and devices attached to the external SCSI bus) are supported as normal CAM devices β provided they're exported by the controller firmware and aren't marked as being masked. masked devices can be exposed by setting the hw.ciss.expose_hidden_physical tunable to non-zero at boot time. yep, that's the un-hide button π₯
Direct Access devices (like disk drives) are only exposed as pass(4) devices. that's the whole tea.
hot-insertion and removal of devices is supported, and notification messages will be reported to the console and logs. plug it in, pull it out, the logs will be watching π
π one more thing β the problem where the 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. might. no promises. that's the note, fr fr.
π HARDWARE π
controllers supported by the ciss driver include, and this list EATS every single time:
- 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 P212
- HP Smart Array P220i
- HP Smart Array P222
- HP Smart Array P230i
- 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 P530
- HP Smart Array P531
- HP Smart Array P600
- HP Smart Array P721m
- HP Smart Array P731m
- HP Smart Array P800
- HP Smart Array P812
- HP Smart Array P830
- HP Smart Array P830i
- HP Modular Smart Array 20 (MSA20)
- HP Modular Smart Array 500 (MSA500)
that's thirty-six controllers btw. not me counting. okay maybe me counting π
π SEE ALSO π
also, the reading list for the lore girlies:
CISS Command Interface for SCSI-3 Support Open Specification, Version 1.04, Valence Number 1, Compaq Computer Corporation, 2000/11/27.
iykyk π
π 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> βοΈ
and that's the page!! sourced from the Debian build, dated January 26, 2012 β a whole classic, still serving looks. ty for reading my little kernel talk, go configure your array, ily, bye!! πβ¨ππ¦πΈπ
π¦ where this page comes from
- debian bookworm: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- debian trixie: freebsd-manpages 12.2-2 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu jammy: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu noble: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu questing: freebsd-manpages 12.2-2
- ubuntu resolute: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu stonking: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms