1 .\" Copyright (c) 2009-2020 Alexander Motin <mav@FreeBSD.org>
2 .\" Copyright (c) 2006 Marcus Alves Grando
3 .\" Copyright (c) 1998-2001 Matthew Jacob, for NASA/Ames Research Center
5 .\" Redistribution and use in source and binary forms, with or without
6 .\" modification, are permitted provided that the following conditions
8 .\" 1. Redistributions of source code must retain the above copyright
9 .\" notice, this list of conditions and the following disclaimer.
10 .\" 2. Redistributions in binary form must reproduce the above copyright
11 .\" notice, this list of conditions and the following disclaimer in the
12 .\" documentation and/or other materials provided with the distribution.
13 .\" 3. The name of the author may not be used to endorse or promote products
14 .\" derived from this software without specific prior written permission.
16 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17 .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18 .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19 .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20 .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21 .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22 .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23 .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 .Nd Qlogic FibreChannel SCSI Host Adapters driver
36 To compile this driver into the kernel,
37 place the following lines in your
38 kernel configuration file:
39 .Bd -ragged -offset indent
45 Alternatively, to load the driver as a
46 module at boot time, place the following lines in
48 .Bd -literal -offset indent
53 This driver provides access to
57 It supports initiator and target modes of FCP SCSI profile,
58 utilizing Class 3 and Class 2 connections.
59 Support is available for Public and Private loops, Point-to-Point
60 and Fabric connections.
62 Supported FC-Tape functionality is highly recommended for connections
63 to tape drives that support it.
64 It encompasses four elements from the T-10 FCP-4 specification:
65 .Bl -bullet -offset indent
67 Precise Delivery of Commands
69 Confirmed Completion of FCP I/O Operations
71 Retransmission of Unsuccessfully Transmitted IUs
73 Task Retry Identification
76 Together these features allow for link level error recovery with tape
78 Without it, an initiator cannot, for instance, tell whether a tape write
79 command that has timed out resulted in all, part or none of the data going to
81 FC-Tape is automatically enabled when connecting controller that supports
82 it to a target that supports it.
83 It may be disabled using configuration and hint options described below.
85 Firmware loading is supported if the
88 It is strongly recommended that you use the firmware available from
90 as it is the most likely to have been tested with this driver.
92 Cards supported by the
95 .Bl -tag -width xxxxxx -offset indent
97 Optical 4Gb Fibre Channel PCI-X cards.
98 .It Qlogic 246x (aka 2432)
99 Optical 4Gb Fibre Channel PCIe cards.
100 .It Qlogic 256x (aka 2532)
101 Optical 8Gb Fibre Channel PCIe cards.
102 .It Qlogic 267x/836x (aka 2031/8031)
103 Optical 16Gb FC/FCoE PCIe cards.
104 .It Qlogic 2690/2692/2694 (aka 2684/2692)
105 Optical 16Gb Fibre Channel PCIe cards.
106 .It Qlogic 2740/2742/2764 (aka 2722/2714)
107 Optical 32Gb Fibre Channel PCIe cards.
109 .Sh CONFIGURATION OPTIONS
110 Target mode support for Fibre Channel adapters may be enabled with the
112 .Cd options ISP_TARGET_MODE
116 To disable FC-Tape, use the following configuration option:
118 .Cd options ISP_FCTAPE_OFF
120 Note that even if the ISP_FCTAPE_OFF option is used, it may be overridden
121 by the fctape hint described below.
123 The following options are switchable by setting values in
124 .Pa /boot/device.hints .
127 .Bl -tag -width indent
128 .It Va hint.isp. Ns Ar N Ns Va .msi
129 Limit on number of Message Signaled Interrupts (MSI) to be used.
130 .It Va hint.isp. Ns Ar N Ns Va .msix
131 Limit on number of Extended Message Signaled Interrupts (MSI-X) to be used.
132 .It Va hint.isp. Ns Ar N Ns Va .fwload_disable
133 A hint value to disable loading of firmware
135 .It Va hint.isp. Ns Ar N Ns Va .ignore_nvram
136 A hint value to ignore board NVRAM settings for.
137 Otherwise use NVRAM settings.
138 .It Va hint.isp. Ns Ar N Ns Va .fullduplex
139 A hint value to set full duplex mode.
140 .It Va hint.isp. Ns Ar N Ns Va .topology
141 A hint value to select topology of connection.
142 Supported values are:
144 .Bl -tag -width ".Li lport-only" -compact
146 Prefer loopback and fallback to point to point.
148 Prefer point to point and fallback to loopback.
154 .It Va hint.isp. Ns Ar N Ns Va .portwwn
155 This should be the full 64 bit World Wide Port Name you would like
156 to use, overriding the value in NVRAM for the card.
157 .It Va hint.isp. Ns Ar N Ns Va .nodewwn
158 This should be the full 64 bit World Wide Node Name you would like
159 to use, overriding the value in NVRAM for the card.
160 .It Va hint.isp. Ns Ar N Ns Va .iid
161 A hint to override or set the Initiator ID or Loop ID.
163 cards in Local Loop topologies it is
165 recommended that you set this value to non-zero.
166 .It Va hint.isp. Ns Ar N Ns Va .role
167 A hint to define default role for isp instance (0 -- none, 1 -- target,
168 2 -- initiator, 3 -- both).
169 .It Va hint.isp. Ns Ar N Ns Va .debug
170 A hint value for a driver debug level (see the file
171 .Pa /usr/src/sys/dev/isp/ispvar.h
173 .It Va hint.isp. Ns Ar N Ns Va .vports
174 A hint to create specified number of additional virtual ports.
175 .It Va hint.isp. Ns Ar N Ns Va .nofctape
176 Set this to 1 to disable FC-Tape operation on the given isp instance.
177 .It Va hint.isp. Ns Ar N Ns Va .fctape
178 Set this to 1 to enable FC-Tape operation on the given isp instance for
179 targets that support it.
182 .Bl -tag -width indent
183 .It Va dev.isp. Ns Ar N Ns Va .loop_down_limit
184 This value says how long to wait in seconds after loop has gone down before
185 giving up and expiring all of the devices that were visible.
186 The default is 300 seconds (5 minutes).
187 A separate (nonadjustable) timeout is used when
188 booting to not stop booting on lack of FC connectivity.
189 .It Va dev.isp. Ns Ar N Ns Va .gone_device_time
190 This value says how long to wait for devices to reappear if they (temporarily)
191 disappear due to loop or fabric events.
192 While this timeout is running, I/O
193 to those devices will simply be held.
194 .It Va dev.isp. Ns Ar N Ns Va .use_gff_id
195 .It Va dev.isp. Ns Ar N Ns Va .use_gft_id
196 Setting those options to 0 allows to disable use of GFF_ID and GFT_ID SNS
197 requests during FC fabric scan.
198 It may be useful if switch does not implement them correctly,
199 preventing some devices from being found.
200 Disabling them may cause unneeded logins to ports not supporting target role
202 The default is 1 (enabled).
203 .It Va dev.isp. Ns Ar N Ns Va .wwnn
204 This is the readonly World Wide Node Name value for this port.
205 .It Va dev.isp. Ns Ar N Ns Va .wwpn
206 This is the readonly World Wide Port Name value for this port.
218 driver was written by
220 originally for NetBSD at NASA/Ames Research Center.
221 Later improvement was done by
222 .An Alexander Motin Aq Mt mav@FreeBSD.org .
224 The driver currently ignores some NVRAM settings.