xref: /freebsd/share/man/man4/isp.4 (revision 31354813f3c6e87532189be77c2f10a017c55472)
11b760be4SAlexander Motin.\" Copyright (c) 2009-2020 Alexander Motin <mav@FreeBSD.org>
2a4ccb5d6SAlexander Motin.\" Copyright (c) 2006 Marcus Alves Grando
3a4ccb5d6SAlexander Motin.\" Copyright (c) 1998-2001 Matthew Jacob, for NASA/Ames Research Center
4a90b37e0SMatt Jacob.\"
5a90b37e0SMatt Jacob.\" Redistribution and use in source and binary forms, with or without
6a90b37e0SMatt Jacob.\" modification, are permitted provided that the following conditions
7a90b37e0SMatt Jacob.\" are met:
8a90b37e0SMatt Jacob.\" 1. Redistributions of source code must retain the above copyright
9a90b37e0SMatt Jacob.\"    notice, this list of conditions and the following disclaimer.
10a90b37e0SMatt Jacob.\" 2. Redistributions in binary form must reproduce the above copyright
11a90b37e0SMatt Jacob.\"    notice, this list of conditions and the following disclaimer in the
12a90b37e0SMatt Jacob.\"    documentation and/or other materials provided with the distribution.
13a90b37e0SMatt Jacob.\" 3. The name of the author may not be used to endorse or promote products
143f7da69fSMike Pritchard.\"    derived from this software without specific prior written permission.
15a90b37e0SMatt Jacob.\"
16a90b37e0SMatt Jacob.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17a90b37e0SMatt Jacob.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18a90b37e0SMatt Jacob.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19a90b37e0SMatt Jacob.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20a90b37e0SMatt Jacob.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21a90b37e0SMatt Jacob.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22a90b37e0SMatt Jacob.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23a90b37e0SMatt Jacob.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24a90b37e0SMatt Jacob.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25a90b37e0SMatt Jacob.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26a90b37e0SMatt Jacob.\"
27*31354813SKenneth D. Merry.Dd June 24, 2024
28a90b37e0SMatt Jacob.Dt ISP 4
29a90b37e0SMatt Jacob.Os
30a90b37e0SMatt Jacob.Sh NAME
31a90b37e0SMatt Jacob.Nm isp
321b760be4SAlexander Motin.Nd Qlogic FibreChannel SCSI Host Adapters driver
33a90b37e0SMatt Jacob.Sh SYNOPSIS
342d431ba6SChristian BruefferTo compile this driver into the kernel,
352d431ba6SChristian Bruefferplace the following lines in your
362d431ba6SChristian Bruefferkernel configuration file:
372d431ba6SChristian Brueffer.Bd -ragged -offset indent
382d431ba6SChristian Brueffer.Cd "device scbus"
39a90b37e0SMatt Jacob.Cd "device isp"
4008167db8SKenneth D. Merry.Cd "device ispfw"
412d431ba6SChristian Brueffer.Ed
42a90b37e0SMatt Jacob.Pp
432d431ba6SChristian BruefferAlternatively, to load the driver as a
4408167db8SKenneth D. Merrymodule at boot time, place the following lines in
452d431ba6SChristian Brueffer.Xr loader.conf 5 :
462d431ba6SChristian Brueffer.Bd -literal -offset indent
472d431ba6SChristian Bruefferisp_load="YES"
4808167db8SKenneth D. Merryispfw_load="YES"
492d431ba6SChristian Brueffer.Ed
50a90b37e0SMatt Jacob.Sh DESCRIPTION
51a90b37e0SMatt JacobThis driver provides access to
52a90b37e0SMatt Jacob.Tn FibreChannel
53a4ccb5d6SAlexander MotinSCSI devices.
54a90b37e0SMatt Jacob.Pp
551b760be4SAlexander MotinIt supports initiator and target modes of FCP SCSI profile,
561b760be4SAlexander Motinutilizing Class 3 and Class 2 connections.
573e6deb33SAlexander MotinSupport is available for Public and Private loops, Point-to-Point
583e6deb33SAlexander Motinand Fabric connections.
5908167db8SKenneth D. Merry.Pp
601b760be4SAlexander MotinSupported FC-Tape functionality is highly recommended for connections
611b760be4SAlexander Motinto tape drives that support it.
6295f289d5SEitan AdlerIt encompasses four elements from the T-10 FCP-4 specification:
6308167db8SKenneth D. Merry.Bl -bullet -offset indent
6408167db8SKenneth D. Merry.It
6508167db8SKenneth D. MerryPrecise Delivery of Commands
6608167db8SKenneth D. Merry.It
6708167db8SKenneth D. MerryConfirmed Completion of FCP I/O Operations
6808167db8SKenneth D. Merry.It
6908167db8SKenneth D. MerryRetransmission of Unsuccessfully Transmitted IUs
7008167db8SKenneth D. Merry.It
7108167db8SKenneth D. MerryTask Retry Identification
7208167db8SKenneth D. Merry.El
7308167db8SKenneth D. Merry.Pp
7408167db8SKenneth D. MerryTogether these features allow for link level error recovery with tape
7508167db8SKenneth D. Merrydevices.
7608167db8SKenneth D. MerryWithout it, an initiator cannot, for instance, tell whether a tape write
7708167db8SKenneth D. Merrycommand that has timed out resulted in all, part or none of the data going to
7808167db8SKenneth D. Merrythe tape drive.
7908167db8SKenneth D. MerryFC-Tape is automatically enabled when connecting controller that supports
8008167db8SKenneth D. Merryit to a target that supports it.
8108167db8SKenneth D. MerryIt may be disabled using configuration and hint options described below.
825f4796c0SMatt Jacob.Sh FIRMWARE
8310ed63fcSJoerg PulzFirmware loading is supported and handled by
8410ed63fcSJoerg Pulz.Xr firmware 9 .
8510ed63fcSJoerg PulzThe correct firmware is either loaded automatically, if available for this
8610ed63fcSJoerg Pulztype of adapter, or by manually loading the
875f4796c0SMatt Jacob.Xr ispfw 4
8810ed63fcSJoerg Pulzmodule.
893e6deb33SAlexander MotinIt is strongly recommended that you use the firmware available from
90b128a303SMatt Jacob.Xr ispfw 4
9110ed63fcSJoerg Pulzas it is the one that most likely has been tested with this driver.
92a90b37e0SMatt Jacob.Sh HARDWARE
93f0d219daSSimon L. B. NielsenCards supported by the
94f0d219daSSimon L. B. Nielsen.Nm
95f0d219daSSimon L. B. Nielsendriver include:
96a90b37e0SMatt Jacob.Bl -tag -width xxxxxx -offset indent
974c38f2f8SMatt Jacob.It Qlogic 2422
981b760be4SAlexander MotinOptical 4Gb Fibre Channel PCI-X cards.
999872c961SAlexander Motin.It Qlogic 246x (aka 2432)
1003e6deb33SAlexander MotinOptical 4Gb Fibre Channel PCIe cards.
1019872c961SAlexander Motin.It Qlogic 256x (aka 2532)
1023e6deb33SAlexander MotinOptical 8Gb Fibre Channel PCIe cards.
1039872c961SAlexander Motin.It Qlogic 267x/836x (aka 2031/8031)
1049872c961SAlexander MotinOptical 16Gb FC/FCoE PCIe cards.
10514e084adSAlexander Motin.It Qlogic 2690/2692/2694 (aka 2684/2692)
10614e084adSAlexander MotinOptical 16Gb Fibre Channel PCIe cards.
10714e084adSAlexander Motin.It Qlogic 2740/2742/2764 (aka 2722/2714)
10814e084adSAlexander MotinOptical 32Gb Fibre Channel PCIe cards.
1092b4ccfbbSJoerg Pulz.It Qlogic QLE2770/QLE2772 (aka 2812)
1102b4ccfbbSJoerg PulzOptical 32Gb Fibre Channel PCIe cards.
1112b4ccfbbSJoerg Pulz.It Qlogic QLE2774 (aka 2814)
1122b4ccfbbSJoerg PulzOptical 32Gb Fibre Channel PCIe cards.
1132b4ccfbbSJoerg Pulz.It Qlogic QLE2870/QLE2872 (aka 2812)
1142b4ccfbbSJoerg PulzOptical 64Gb Fibre Channel PCIe cards.
1152b4ccfbbSJoerg Pulz.It Qlogic QLE2874 (aka 2814)
1162b4ccfbbSJoerg PulzOptical 64Gb Fibre Channel PCIe cards.
117a90b37e0SMatt Jacob.El
118a90b37e0SMatt Jacob.Sh CONFIGURATION OPTIONS
119a4ccb5d6SAlexander MotinTarget mode support for Fibre Channel adapters may be enabled with the
120726b61abSRuslan Ermilov.Pp
121a90b37e0SMatt Jacob.Cd options ISP_TARGET_MODE
122726b61abSRuslan Ermilov.Pp
123a90b37e0SMatt Jacoboption.
12408167db8SKenneth D. Merry.Pp
12508167db8SKenneth D. MerryTo disable FC-Tape, use the following configuration option:
12608167db8SKenneth D. Merry.Pp
12708167db8SKenneth D. Merry.Cd options ISP_FCTAPE_OFF
12808167db8SKenneth D. Merry.Pp
12908167db8SKenneth D. MerryNote that even if the ISP_FCTAPE_OFF option is used, it may be overridden
13008167db8SKenneth D. Merryby the fctape hint described below.
131a90b37e0SMatt Jacob.Sh BOOT OPTIONS
132ae15c312SMatt JacobThe following options are switchable by setting values in
133ae15c312SMatt Jacob.Pa /boot/device.hints .
134ae15c312SMatt Jacob.Pp
13592c355d7SRuslan ErmilovThey are:
136ae15c312SMatt Jacob.Bl -tag -width indent
13717ec7746SAlexander Motin.It Va hint.isp. Ns Ar N Ns Va .msi
13817ec7746SAlexander MotinLimit on number of Message Signaled Interrupts (MSI) to be used.
13917ec7746SAlexander Motin.It Va hint.isp. Ns Ar N Ns Va .msix
14017ec7746SAlexander MotinLimit on number of Extended Message Signaled Interrupts (MSI-X) to be used.
14117ec7746SAlexander Motin.It Va hint.isp. Ns Ar N Ns Va .fwload_disable
14210ed63fcSJoerg PulzA hint value to disable loading of firmware provided by
14381ae4b8dSRuslan Ermilov.Xr ispfw 4 .
144*31354813SKenneth D. Merry.It Va hint.isp. Ns Ar N Ns Va .fwload_force
145*31354813SKenneth D. MerryA hint value to prefer firmware provided by
146*31354813SKenneth D. Merry.Xr ispfw 4 ,
147*31354813SKenneth D. Merryeven if it is older than the firmware in flash on the board.
148*31354813SKenneth D. MerryIf fwload_disable is also specified, fwload_force will be ignored.
149*31354813SKenneth D. Merry.Pp
150*31354813SKenneth D. MerryBy default, with 27XX and newer controllers, the
151*31354813SKenneth D. Merry.Xr isp 4
152*31354813SKenneth D. Merrydriver will use the newer
153*31354813SKenneth D. Merryfirmware.
154*31354813SKenneth D. MerryFor older controllers, the
155*31354813SKenneth D. Merry.Xr isp 4
156*31354813SKenneth D. Merrydriver will use the firmware provided by
157*31354813SKenneth D. Merry.Xr ispfw 4
158*31354813SKenneth D. Merryif it is available, and otherwise use the firmware in flash on the board.
15917ec7746SAlexander Motin.It Va hint.isp. Ns Ar N Ns Va .ignore_nvram
16081ae4b8dSRuslan ErmilovA hint value to ignore board NVRAM settings for.
16181ae4b8dSRuslan ErmilovOtherwise use NVRAM settings.
16217ec7746SAlexander Motin.It Va hint.isp. Ns Ar N Ns Va .fullduplex
163ae15c312SMatt JacobA hint value to set full duplex mode.
16417ec7746SAlexander Motin.It Va hint.isp. Ns Ar N Ns Va .topology
16581ae4b8dSRuslan ErmilovA hint value to select topology of connection.
16681ae4b8dSRuslan ErmilovSupported values are:
167ae15c312SMatt Jacob.Pp
16881ae4b8dSRuslan Ermilov.Bl -tag -width ".Li lport-only" -compact
16981ae4b8dSRuslan Ermilov.It Li lport
17081ae4b8dSRuslan ErmilovPrefer loopback and fallback to point to point.
17181ae4b8dSRuslan Ermilov.It Li nport
17281ae4b8dSRuslan ErmilovPrefer point to point and fallback to loopback.
17381ae4b8dSRuslan Ermilov.It Li lport-only
17481ae4b8dSRuslan ErmilovLoopback only.
17581ae4b8dSRuslan Ermilov.It Li nport-only
17681ae4b8dSRuslan ErmilovPoint to point only.
17781ae4b8dSRuslan Ermilov.El
17817ec7746SAlexander Motin.It Va hint.isp. Ns Ar N Ns Va .portwwn
179ae15c312SMatt JacobThis should be the full 64 bit World Wide Port Name you would like
180ae15c312SMatt Jacobto use, overriding the value in NVRAM for the card.
18117ec7746SAlexander Motin.It Va hint.isp. Ns Ar N Ns Va .nodewwn
1825f4796c0SMatt JacobThis should be the full 64 bit World Wide Node Name you would like
1835f4796c0SMatt Jacobto use, overriding the value in NVRAM for the card.
18417ec7746SAlexander Motin.It Va hint.isp. Ns Ar N Ns Va .iid
185dbb3ac38SChristian BruefferA hint to override or set the Initiator ID or Loop ID.
186dbb3ac38SChristian BruefferFor Fibre Channel
1874c38f2f8SMatt Jacobcards in Local Loop topologies it is
1884c38f2f8SMatt Jacob.Ar strongly
1894c38f2f8SMatt Jacobrecommended that you set this value to non-zero.
19017ec7746SAlexander Motin.It Va hint.isp. Ns Ar N Ns Va .role
1913e6deb33SAlexander MotinA hint to define default role for isp instance (0 -- none, 1 -- target,
1923e6deb33SAlexander Motin2 -- initiator, 3 -- both).
19317ec7746SAlexander Motin.It Va hint.isp. Ns Ar N Ns Va .debug
1944c38f2f8SMatt JacobA hint value for a driver debug level (see the file
1954c38f2f8SMatt Jacob.Pa /usr/src/sys/dev/isp/ispvar.h
1964c38f2f8SMatt Jacobfor the values.
19717ec7746SAlexander Motin.It Va hint.isp. Ns Ar N Ns Va .vports
198238e75e5SAlexander MotinA hint to create specified number of additional virtual ports.
19917ec7746SAlexander Motin.It Va hint.isp. Ns Ar N Ns Va .nofctape
20008167db8SKenneth D. MerrySet this to 1 to disable FC-Tape operation on the given isp instance.
20117ec7746SAlexander Motin.It Va hint.isp. Ns Ar N Ns Va .fctape
20208167db8SKenneth D. MerrySet this to 1 to enable FC-Tape operation on the given isp instance for
20308167db8SKenneth D. Merrytargets that support it.
2044c38f2f8SMatt Jacob.El
2054c38f2f8SMatt Jacob.Sh SYSCTL OPTIONS
2064c38f2f8SMatt Jacob.Bl -tag -width indent
20717ec7746SAlexander Motin.It Va dev.isp. Ns Ar N Ns Va .loop_down_limit
2084c38f2f8SMatt JacobThis value says how long to wait in seconds after loop has gone down before
209dbb3ac38SChristian Brueffergiving up and expiring all of the devices that were visible.
210dbb3ac38SChristian BruefferThe default is 300 seconds (5 minutes).
21132ba16b6SUlrich SpörleinA separate (nonadjustable) timeout is used when
2124c38f2f8SMatt Jacobbooting to not stop booting on lack of FC connectivity.
21317ec7746SAlexander Motin.It Va dev.isp. Ns Ar N Ns Va .gone_device_time
2144c38f2f8SMatt JacobThis value says how long to wait for devices to reappear if they (temporarily)
215dbb3ac38SChristian Bruefferdisappear due to loop or fabric events.
216dbb3ac38SChristian BruefferWhile this timeout is running, I/O
2174c38f2f8SMatt Jacobto those devices will simply be held.
21817ec7746SAlexander Motin.It Va dev.isp. Ns Ar N Ns Va .use_gff_id
21917ec7746SAlexander Motin.It Va dev.isp. Ns Ar N Ns Va .use_gft_id
220a94fab67SAlexander MotinSetting those options to 0 allows to disable use of GFF_ID and GFT_ID SNS
221a94fab67SAlexander Motinrequests during FC fabric scan.
222a94fab67SAlexander MotinIt may be useful if switch does not implement them correctly,
223a94fab67SAlexander Motinpreventing some devices from being found.
224a94fab67SAlexander MotinDisabling them may cause unneeded logins to ports not supporting target role
225a94fab67SAlexander Motinor even FCP at all.
226a94fab67SAlexander MotinThe default is 1 (enabled).
22717ec7746SAlexander Motin.It Va dev.isp. Ns Ar N Ns Va .wwnn
2284c38f2f8SMatt JacobThis is the readonly World Wide Node Name value for this port.
22917ec7746SAlexander Motin.It Va dev.isp. Ns Ar N Ns Va .wwpn
2304c38f2f8SMatt JacobThis is the readonly World Wide Port Name value for this port.
23110ed63fcSJoerg Pulz.It Va dev.isp. Ns Ar N Ns Va .fw_version_flash
23210ed63fcSJoerg PulzThe readonly flash firmware version value in the active region of the
23310ed63fcSJoerg Pulzcontroller.
23410ed63fcSJoerg Pulz.It Va dev.isp. Ns Ar N Ns Va .fw_version_ispfw
23510ed63fcSJoerg PulzThe readonly firmware version value provided by
23610ed63fcSJoerg Pulz.Xr ispfw 4 .
23710ed63fcSJoerg Pulz.It Va dev.isp. Ns Ar N Ns Va .fw_version_run
23810ed63fcSJoerg PulzThe readonly firmware version value currently executed on the controller.
239a90b37e0SMatt Jacob.El
2409cbda590SRuslan Ermilov.Sh SEE ALSO
2419cbda590SRuslan Ermilov.Xr da 4 ,
2429cbda590SRuslan Ermilov.Xr intro 4 ,
2439cbda590SRuslan Ermilov.Xr ispfw 4 ,
2449cbda590SRuslan Ermilov.Xr sa 4 ,
24503befb10SEdward Tomasz Napierala.Xr scsi 4 ,
24603befb10SEdward Tomasz Napierala.Xr gmultipath 8
2479cbda590SRuslan Ermilov.Sh AUTHORS
2489cbda590SRuslan ErmilovThe
2499cbda590SRuslan Ermilov.Nm
2500b3504fdSChristian Bruefferdriver was written by
2510b3504fdSChristian Brueffer.An Matthew Jacob
2520fd0e797SAlexander Motinoriginally for NetBSD at NASA/Ames Research Center.
253a94fab67SAlexander MotinLater improvement was done by
254043fd51aSAlexander Motin.An Alexander Motin Aq Mt mav@FreeBSD.org .
255a90b37e0SMatt Jacob.Sh BUGS
256a90b37e0SMatt JacobThe driver currently ignores some NVRAM settings.
257