1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
|
.\" $FreeBSD$
.\" Written by Tom Rhodes
.\" This file is in the public domain.
.\"
.Dd January 18, 2012
.Dt CISS 4
.Os
.Sh NAME
.Nm ciss
.Nd Common Interface for SCSI-3 Support driver
.Sh SYNOPSIS
To compile this driver into the kernel,
place the following lines in your
kernel configuration file:
.Bd -ragged -offset indent
.Cd "device scbus"
.Cd "device ciss"
.Ed
.Pp
Alternatively, to load the driver as a
module at boot time, place the following line in
.Xr loader.conf 5 :
.Bd -literal -offset indent
ciss_load="YES"
.Ed
.Sh DESCRIPTION
The
.Nm
driver claims to provide a common interface between generic SCSI
transports and intelligent host adapters.
.Pp
The
.Nm
driver supports
.Em CISS
as defined in the document entitled
.%T "CISS Command Interface for SCSI-3 Support Open Specification, Version 1.04, Valence Number 1" ,
dated 2000/11/27, produced by Compaq Computer Corporation.
.Pp
We provide a shim layer between the
.Nm
interface and
.Xr CAM 4 ,
offloading most of the queueing and being-a-disk chores onto CAM.
Entry to the driver is via the PCI bus attachment
.Fn ciss_probe ,
.Fn ciss_attach ,
etc.\& and via the CAM interface
.Fn ciss_cam_action ,
and
.Fn ciss_cam_poll .
The Compaq
.Nm
adapters require faked responses to get reasonable
behavior out of them.
In addition, the
.Nm
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.
.Pp
Currently
.Nm
only supports the
.Dq 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.
.Pp
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
.Va hw.ciss.expose_hidden_physical
tunable to non-zero at boot time.
Direct Access devices (such as disk
drives) are only exposed as
.Xr pass 4
devices.
Hot-insertion and removal of devices is supported but a bus
rescan might be necessary.
.Pp
The problem which adapter freezes with the message
.Dq ADAPTER HEARTBEAT FAILED
might be solved by updating the firmware and/or setting the
.Va hw.ciss.nop_message_heartbeat
tunable to non-zero at boot time.
.Sh HARDWARE
Controllers supported by the
.Nm
driver include:
.Pp
.Bl -bullet -compact
.It
Compaq Smart Array 5300
.It
Compaq Smart Array 532
.It
Compaq Smart Array 5i
.It
HP Smart Array 5312
.It
HP Smart Array 6i
.It
HP Smart Array 641
.It
HP Smart Array 642
.It
HP Smart Array 6400
.It
HP Smart Array 6400 EM
.It
HP Smart Array E200
.It
HP Smart Array E200i
.It
HP Smart Array P212
.It
HP Smart Array P400
.It
HP Smart Array P400i
.It
HP Smart Array P410
.It
HP Smart Array P410i
.It
HP Smart Array P411
.It
HP Smart Array P420
.It
HP Smart Array P600
.It
HP Smart Array P800
.It
HP Smart Array P812
.It
HP Modular Smart Array 20 (MSA20)
.It
HP Modular Smart Array 500 (MSA500)
.El
.Sh SEE ALSO
.Xr cam 4 ,
.Xr pass 4 ,
.Xr xpt 4 ,
.Xr loader.conf 5 ,
.Xr camcontrol 8
.Rs
.%T "CISS Command Interface for SCSI-3 Support Open Specification, Version 1.04, Valence Number 1"
.%D 2000/11/27
.%Q "Compaq Computer Corporation"
.Re
.Sh AUTHORS
.An -nosplit
The
.Nm
driver was written by
.An Mike Smith Aq msmith@FreeBSD.org .
.Pp
This manual page is based on his comments and was written by
.An Tom Rhodes Aq trhodes@FreeBSD.org .
|