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.\" 276b806d21SRuslan Ermilov.\" $FreeBSD$ 28a90b37e0SMatt Jacob.\" 29*2b4ccfbbSJoerg Pulz.Dd April 25, 2023 30a90b37e0SMatt Jacob.Dt ISP 4 31a90b37e0SMatt Jacob.Os 32a90b37e0SMatt Jacob.Sh NAME 33a90b37e0SMatt Jacob.Nm isp 341b760be4SAlexander Motin.Nd Qlogic FibreChannel SCSI Host Adapters driver 35a90b37e0SMatt Jacob.Sh SYNOPSIS 362d431ba6SChristian BruefferTo compile this driver into the kernel, 372d431ba6SChristian Bruefferplace the following lines in your 382d431ba6SChristian Bruefferkernel configuration file: 392d431ba6SChristian Brueffer.Bd -ragged -offset indent 402d431ba6SChristian Brueffer.Cd "device scbus" 41a90b37e0SMatt Jacob.Cd "device isp" 4208167db8SKenneth D. Merry.Cd "device ispfw" 432d431ba6SChristian Brueffer.Ed 44a90b37e0SMatt Jacob.Pp 452d431ba6SChristian BruefferAlternatively, to load the driver as a 4608167db8SKenneth D. Merrymodule at boot time, place the following lines in 472d431ba6SChristian Brueffer.Xr loader.conf 5 : 482d431ba6SChristian Brueffer.Bd -literal -offset indent 492d431ba6SChristian Bruefferisp_load="YES" 5008167db8SKenneth D. Merryispfw_load="YES" 512d431ba6SChristian Brueffer.Ed 52a90b37e0SMatt Jacob.Sh DESCRIPTION 53a90b37e0SMatt JacobThis driver provides access to 54a90b37e0SMatt Jacob.Tn FibreChannel 55a4ccb5d6SAlexander MotinSCSI devices. 56a90b37e0SMatt Jacob.Pp 571b760be4SAlexander MotinIt supports initiator and target modes of FCP SCSI profile, 581b760be4SAlexander Motinutilizing Class 3 and Class 2 connections. 593e6deb33SAlexander MotinSupport is available for Public and Private loops, Point-to-Point 603e6deb33SAlexander Motinand Fabric connections. 6108167db8SKenneth D. Merry.Pp 621b760be4SAlexander MotinSupported FC-Tape functionality is highly recommended for connections 631b760be4SAlexander Motinto tape drives that support it. 6495f289d5SEitan AdlerIt encompasses four elements from the T-10 FCP-4 specification: 6508167db8SKenneth D. Merry.Bl -bullet -offset indent 6608167db8SKenneth D. Merry.It 6708167db8SKenneth D. MerryPrecise Delivery of Commands 6808167db8SKenneth D. Merry.It 6908167db8SKenneth D. MerryConfirmed Completion of FCP I/O Operations 7008167db8SKenneth D. Merry.It 7108167db8SKenneth D. MerryRetransmission of Unsuccessfully Transmitted IUs 7208167db8SKenneth D. Merry.It 7308167db8SKenneth D. MerryTask Retry Identification 7408167db8SKenneth D. Merry.El 7508167db8SKenneth D. Merry.Pp 7608167db8SKenneth D. MerryTogether these features allow for link level error recovery with tape 7708167db8SKenneth D. Merrydevices. 7808167db8SKenneth D. MerryWithout it, an initiator cannot, for instance, tell whether a tape write 7908167db8SKenneth D. Merrycommand that has timed out resulted in all, part or none of the data going to 8008167db8SKenneth D. Merrythe tape drive. 8108167db8SKenneth D. MerryFC-Tape is automatically enabled when connecting controller that supports 8208167db8SKenneth D. Merryit to a target that supports it. 8308167db8SKenneth D. MerryIt may be disabled using configuration and hint options described below. 845f4796c0SMatt Jacob.Sh FIRMWARE 853e6deb33SAlexander MotinFirmware loading is supported if the 865f4796c0SMatt Jacob.Xr ispfw 4 873e6deb33SAlexander Motinmodule is loaded. 883e6deb33SAlexander MotinIt is strongly recommended that you use the firmware available from 89b128a303SMatt Jacob.Xr ispfw 4 90b128a303SMatt Jacobas it is the most likely to have been tested with this driver. 91a90b37e0SMatt Jacob.Sh HARDWARE 92f0d219daSSimon L. B. NielsenCards supported by the 93f0d219daSSimon L. B. Nielsen.Nm 94f0d219daSSimon L. B. Nielsendriver include: 95a90b37e0SMatt Jacob.Bl -tag -width xxxxxx -offset indent 964c38f2f8SMatt Jacob.It Qlogic 2422 971b760be4SAlexander MotinOptical 4Gb Fibre Channel PCI-X cards. 989872c961SAlexander Motin.It Qlogic 246x (aka 2432) 993e6deb33SAlexander MotinOptical 4Gb Fibre Channel PCIe cards. 1009872c961SAlexander Motin.It Qlogic 256x (aka 2532) 1013e6deb33SAlexander MotinOptical 8Gb Fibre Channel PCIe cards. 1029872c961SAlexander Motin.It Qlogic 267x/836x (aka 2031/8031) 1039872c961SAlexander MotinOptical 16Gb FC/FCoE PCIe cards. 10414e084adSAlexander Motin.It Qlogic 2690/2692/2694 (aka 2684/2692) 10514e084adSAlexander MotinOptical 16Gb Fibre Channel PCIe cards. 10614e084adSAlexander Motin.It Qlogic 2740/2742/2764 (aka 2722/2714) 10714e084adSAlexander MotinOptical 32Gb Fibre Channel PCIe cards. 108*2b4ccfbbSJoerg Pulz.It Qlogic QLE2770/QLE2772 (aka 2812) 109*2b4ccfbbSJoerg PulzOptical 32Gb Fibre Channel PCIe cards. 110*2b4ccfbbSJoerg Pulz.It Qlogic QLE2774 (aka 2814) 111*2b4ccfbbSJoerg PulzOptical 32Gb Fibre Channel PCIe cards. 112*2b4ccfbbSJoerg Pulz.It Qlogic QLE2870/QLE2872 (aka 2812) 113*2b4ccfbbSJoerg PulzOptical 64Gb Fibre Channel PCIe cards. 114*2b4ccfbbSJoerg Pulz.It Qlogic QLE2874 (aka 2814) 115*2b4ccfbbSJoerg PulzOptical 64Gb Fibre Channel PCIe cards. 116a90b37e0SMatt Jacob.El 117a90b37e0SMatt Jacob.Sh CONFIGURATION OPTIONS 118a4ccb5d6SAlexander MotinTarget mode support for Fibre Channel adapters may be enabled with the 119726b61abSRuslan Ermilov.Pp 120a90b37e0SMatt Jacob.Cd options ISP_TARGET_MODE 121726b61abSRuslan Ermilov.Pp 122a90b37e0SMatt Jacoboption. 12308167db8SKenneth D. Merry.Pp 12408167db8SKenneth D. MerryTo disable FC-Tape, use the following configuration option: 12508167db8SKenneth D. Merry.Pp 12608167db8SKenneth D. Merry.Cd options ISP_FCTAPE_OFF 12708167db8SKenneth D. Merry.Pp 12808167db8SKenneth D. MerryNote that even if the ISP_FCTAPE_OFF option is used, it may be overridden 12908167db8SKenneth D. Merryby the fctape hint described below. 130a90b37e0SMatt Jacob.Sh BOOT OPTIONS 131ae15c312SMatt JacobThe following options are switchable by setting values in 132ae15c312SMatt Jacob.Pa /boot/device.hints . 133ae15c312SMatt Jacob.Pp 13492c355d7SRuslan ErmilovThey are: 135ae15c312SMatt Jacob.Bl -tag -width indent 13617ec7746SAlexander Motin.It Va hint.isp. Ns Ar N Ns Va .msi 13717ec7746SAlexander MotinLimit on number of Message Signaled Interrupts (MSI) to be used. 13817ec7746SAlexander Motin.It Va hint.isp. Ns Ar N Ns Va .msix 13917ec7746SAlexander MotinLimit on number of Extended Message Signaled Interrupts (MSI-X) to be used. 14017ec7746SAlexander Motin.It Va hint.isp. Ns Ar N Ns Va .fwload_disable 141ae15c312SMatt JacobA hint value to disable loading of firmware 14281ae4b8dSRuslan Ermilov.Xr ispfw 4 . 14317ec7746SAlexander Motin.It Va hint.isp. Ns Ar N Ns Va .ignore_nvram 14481ae4b8dSRuslan ErmilovA hint value to ignore board NVRAM settings for. 14581ae4b8dSRuslan ErmilovOtherwise use NVRAM settings. 14617ec7746SAlexander Motin.It Va hint.isp. Ns Ar N Ns Va .fullduplex 147ae15c312SMatt JacobA hint value to set full duplex mode. 14817ec7746SAlexander Motin.It Va hint.isp. Ns Ar N Ns Va .topology 14981ae4b8dSRuslan ErmilovA hint value to select topology of connection. 15081ae4b8dSRuslan ErmilovSupported values are: 151ae15c312SMatt Jacob.Pp 15281ae4b8dSRuslan Ermilov.Bl -tag -width ".Li lport-only" -compact 15381ae4b8dSRuslan Ermilov.It Li lport 15481ae4b8dSRuslan ErmilovPrefer loopback and fallback to point to point. 15581ae4b8dSRuslan Ermilov.It Li nport 15681ae4b8dSRuslan ErmilovPrefer point to point and fallback to loopback. 15781ae4b8dSRuslan Ermilov.It Li lport-only 15881ae4b8dSRuslan ErmilovLoopback only. 15981ae4b8dSRuslan Ermilov.It Li nport-only 16081ae4b8dSRuslan ErmilovPoint to point only. 16181ae4b8dSRuslan Ermilov.El 16217ec7746SAlexander Motin.It Va hint.isp. Ns Ar N Ns Va .portwwn 163ae15c312SMatt JacobThis should be the full 64 bit World Wide Port Name you would like 164ae15c312SMatt Jacobto use, overriding the value in NVRAM for the card. 16517ec7746SAlexander Motin.It Va hint.isp. Ns Ar N Ns Va .nodewwn 1665f4796c0SMatt JacobThis should be the full 64 bit World Wide Node Name you would like 1675f4796c0SMatt Jacobto use, overriding the value in NVRAM for the card. 16817ec7746SAlexander Motin.It Va hint.isp. Ns Ar N Ns Va .iid 169dbb3ac38SChristian BruefferA hint to override or set the Initiator ID or Loop ID. 170dbb3ac38SChristian BruefferFor Fibre Channel 1714c38f2f8SMatt Jacobcards in Local Loop topologies it is 1724c38f2f8SMatt Jacob.Ar strongly 1734c38f2f8SMatt Jacobrecommended that you set this value to non-zero. 17417ec7746SAlexander Motin.It Va hint.isp. Ns Ar N Ns Va .role 1753e6deb33SAlexander MotinA hint to define default role for isp instance (0 -- none, 1 -- target, 1763e6deb33SAlexander Motin2 -- initiator, 3 -- both). 17717ec7746SAlexander Motin.It Va hint.isp. Ns Ar N Ns Va .debug 1784c38f2f8SMatt JacobA hint value for a driver debug level (see the file 1794c38f2f8SMatt Jacob.Pa /usr/src/sys/dev/isp/ispvar.h 1804c38f2f8SMatt Jacobfor the values. 18117ec7746SAlexander Motin.It Va hint.isp. Ns Ar N Ns Va .vports 182238e75e5SAlexander MotinA hint to create specified number of additional virtual ports. 18317ec7746SAlexander Motin.It Va hint.isp. Ns Ar N Ns Va .nofctape 18408167db8SKenneth D. MerrySet this to 1 to disable FC-Tape operation on the given isp instance. 18517ec7746SAlexander Motin.It Va hint.isp. Ns Ar N Ns Va .fctape 18608167db8SKenneth D. MerrySet this to 1 to enable FC-Tape operation on the given isp instance for 18708167db8SKenneth D. Merrytargets that support it. 1884c38f2f8SMatt Jacob.El 1894c38f2f8SMatt Jacob.Sh SYSCTL OPTIONS 1904c38f2f8SMatt Jacob.Bl -tag -width indent 19117ec7746SAlexander Motin.It Va dev.isp. Ns Ar N Ns Va .loop_down_limit 1924c38f2f8SMatt JacobThis value says how long to wait in seconds after loop has gone down before 193dbb3ac38SChristian Brueffergiving up and expiring all of the devices that were visible. 194dbb3ac38SChristian BruefferThe default is 300 seconds (5 minutes). 19532ba16b6SUlrich SpörleinA separate (nonadjustable) timeout is used when 1964c38f2f8SMatt Jacobbooting to not stop booting on lack of FC connectivity. 19717ec7746SAlexander Motin.It Va dev.isp. Ns Ar N Ns Va .gone_device_time 1984c38f2f8SMatt JacobThis value says how long to wait for devices to reappear if they (temporarily) 199dbb3ac38SChristian Bruefferdisappear due to loop or fabric events. 200dbb3ac38SChristian BruefferWhile this timeout is running, I/O 2014c38f2f8SMatt Jacobto those devices will simply be held. 20217ec7746SAlexander Motin.It Va dev.isp. Ns Ar N Ns Va .use_gff_id 20317ec7746SAlexander Motin.It Va dev.isp. Ns Ar N Ns Va .use_gft_id 204a94fab67SAlexander MotinSetting those options to 0 allows to disable use of GFF_ID and GFT_ID SNS 205a94fab67SAlexander Motinrequests during FC fabric scan. 206a94fab67SAlexander MotinIt may be useful if switch does not implement them correctly, 207a94fab67SAlexander Motinpreventing some devices from being found. 208a94fab67SAlexander MotinDisabling them may cause unneeded logins to ports not supporting target role 209a94fab67SAlexander Motinor even FCP at all. 210a94fab67SAlexander MotinThe default is 1 (enabled). 21117ec7746SAlexander Motin.It Va dev.isp. Ns Ar N Ns Va .wwnn 2124c38f2f8SMatt JacobThis is the readonly World Wide Node Name value for this port. 21317ec7746SAlexander Motin.It Va dev.isp. Ns Ar N Ns Va .wwpn 2144c38f2f8SMatt JacobThis is the readonly World Wide Port Name value for this port. 215a90b37e0SMatt Jacob.El 2169cbda590SRuslan Ermilov.Sh SEE ALSO 2179cbda590SRuslan Ermilov.Xr da 4 , 2189cbda590SRuslan Ermilov.Xr intro 4 , 2199cbda590SRuslan Ermilov.Xr ispfw 4 , 2209cbda590SRuslan Ermilov.Xr sa 4 , 22103befb10SEdward Tomasz Napierala.Xr scsi 4 , 22203befb10SEdward Tomasz Napierala.Xr gmultipath 8 2239cbda590SRuslan Ermilov.Sh AUTHORS 2249cbda590SRuslan ErmilovThe 2259cbda590SRuslan Ermilov.Nm 2260b3504fdSChristian Bruefferdriver was written by 2270b3504fdSChristian Brueffer.An Matthew Jacob 2280fd0e797SAlexander Motinoriginally for NetBSD at NASA/Ames Research Center. 229a94fab67SAlexander MotinLater improvement was done by 230043fd51aSAlexander Motin.An Alexander Motin Aq Mt mav@FreeBSD.org . 231a90b37e0SMatt Jacob.Sh BUGS 232a90b37e0SMatt JacobThe driver currently ignores some NVRAM settings. 233