1a4ccb5d6SAlexander Motin.\" Copyright (c) 2009-2015 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.\" 2908167db8SKenneth D. Merry.Dd December 20, 2016 30a90b37e0SMatt Jacob.Dt ISP 4 31a90b37e0SMatt Jacob.Os 32a90b37e0SMatt Jacob.Sh NAME 33a90b37e0SMatt Jacob.Nm isp 34a4ccb5d6SAlexander Motin.Nd Qlogic based SPI and FibreChannel SCSI Host Adapters 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 54a4ccb5d6SAlexander Motin.Tn SPI 55a90b37e0SMatt Jacobor 56a90b37e0SMatt Jacob.Tn FibreChannel 57a4ccb5d6SAlexander MotinSCSI devices. 58a90b37e0SMatt Jacob.Pp 59a4ccb5d6SAlexander MotinSPI supports initiator mode for Ultra SCSI and wide mode transactions for 60a90b37e0SMatt Jacob.Tn SCSI , 613e6deb33SAlexander MotinUltra2 LVD (1080, 1280), and Ultra3 LVD (10160, 12160). 62a90b37e0SMatt Jacob.Pp 63a4ccb5d6SAlexander MotinFibre Channel supports initiator and target modes of FCP SCSI profile, 64a4ccb5d6SAlexander Motinutilizing Class 3 and Class 2 (2200 and later) connections. 653e6deb33SAlexander MotinSupport is available for Public and Private loops, Point-to-Point 663e6deb33SAlexander Motinand Fabric connections. 6708167db8SKenneth D. Merry.Pp 6808167db8SKenneth D. MerryFC-Tape is supported on 4Gb (2400) and newer controllers. 6908167db8SKenneth D. MerryFC-Tape is highly recommended for connections to tape drives that support 7008167db8SKenneth D. Merryit. 71*95f289d5SEitan AdlerIt encompasses four elements from the T-10 FCP-4 specification: 7208167db8SKenneth D. Merry.Bl -bullet -offset indent 7308167db8SKenneth D. Merry.It 7408167db8SKenneth D. MerryPrecise Delivery of Commands 7508167db8SKenneth D. Merry.It 7608167db8SKenneth D. MerryConfirmed Completion of FCP I/O Operations 7708167db8SKenneth D. Merry.It 7808167db8SKenneth D. MerryRetransmission of Unsuccessfully Transmitted IUs 7908167db8SKenneth D. Merry.It 8008167db8SKenneth D. MerryTask Retry Identification 8108167db8SKenneth D. Merry.El 8208167db8SKenneth D. Merry.Pp 8308167db8SKenneth D. MerryTogether these features allow for link level error recovery with tape 8408167db8SKenneth D. Merrydevices. 8508167db8SKenneth D. MerryWithout it, an initiator cannot, for instance, tell whether a tape write 8608167db8SKenneth D. Merrycommand that has timed out resulted in all, part or none of the data going to 8708167db8SKenneth D. Merrythe tape drive. 8808167db8SKenneth D. MerryFC-Tape is automatically enabled when connecting controller that supports 8908167db8SKenneth D. Merryit to a target that supports it. 9008167db8SKenneth D. MerryIt may be disabled using configuration and hint options described below. 915f4796c0SMatt Jacob.Sh FIRMWARE 923e6deb33SAlexander MotinFirmware loading is supported if the 935f4796c0SMatt Jacob.Xr ispfw 4 943e6deb33SAlexander Motinmodule is loaded. 953e6deb33SAlexander MotinIt is strongly recommended that you use the firmware available from 96b128a303SMatt Jacob.Xr ispfw 4 97b128a303SMatt Jacobas it is the most likely to have been tested with this driver. 98a90b37e0SMatt Jacob.Sh HARDWARE 99f0d219daSSimon L. B. NielsenCards supported by the 100f0d219daSSimon L. B. Nielsen.Nm 101f0d219daSSimon L. B. Nielsendriver include: 102a90b37e0SMatt Jacob.Bl -tag -width xxxxxx -offset indent 1033e6deb33SAlexander Motin.It Qlogic 1000 1043e6deb33SAlexander MotinFast Wide, Ultra Fast Wide cards, Single Ended or Differential SBus cards. 105bfb86d9fSBruce A. Mah.It Qlogic 1020 1063e6deb33SAlexander MotinFast Wide and Differential Fast Wide SCSI PCI cards. 107bfb86d9fSBruce A. Mah.It Qlogic 1040 1083e6deb33SAlexander MotinUltra Wide and Differential Ultra Wide SCSI PCI cards. 1093e6deb33SAlexander MotinAlso known as the DEC KZPBA-CA (single ended) and KZPBA-CB (HVD differential). 110a90b37e0SMatt Jacob.It Qlogic 1080 1113e6deb33SAlexander MotinLVD Ultra2 Wide SCSI PCI cards. 1120fd0e797SAlexander Motin.It Qlogic 10160 1133e6deb33SAlexander MotinLVD Ultra3 Wide SCSI PCI cards. 1140fd0e797SAlexander Motin.It Qlogic 1240 1153e6deb33SAlexander MotinDual Bus Ultra Wide and Differential Ultra Wide SCSI PCI cards. 116a90b37e0SMatt Jacob.It Qlogic 1280 1173e6deb33SAlexander MotinDual Bus LVD Ultra2 Wide SCSI PCI cards. 118a90b37e0SMatt Jacob.It Qlogic 12160 1193e6deb33SAlexander MotinDual Bus LVD Ultra3 Wide SCSI PCI cards. 120ae15c312SMatt Jacob.It Qlogic 210X 1213e6deb33SAlexander MotinCopper and Optical Fibre Channel Arbitrated Loop PCI cards (single, dual). 122ae15c312SMatt Jacob.It Qlogic 220X 1233e6deb33SAlexander MotinCopper and Optical Fibre Channel Arbitrated Loop PCI cards (single, dual, quad). 1247034ded9SMatt Jacob.It Qlogic 2300 1253e6deb33SAlexander MotinOptical 2Gb Fibre Channel PCI cards. 1267034ded9SMatt Jacob.It Qlogic 2312 1273e6deb33SAlexander MotinOptical 2Gb Fibre Channel PCI cards. 128ae15c312SMatt Jacob.It Qlogic 234X 1293e6deb33SAlexander MotinOptical 2Gb Fibre Channel PCI cards (2312 chipset, single and dual attach). 130ae15c312SMatt Jacob.It Qlogic 2322 1313e6deb33SAlexander MotinOptical 2Gb Fibre Channel PCIe cards. 132ae15c312SMatt Jacob.It Qlogic 200 1330fd0e797SAlexander MotinDell branded version of the QLogic 2312. 1344c38f2f8SMatt Jacob.It Qlogic 2422 1353e6deb33SAlexander MotinOptical 4Gb Fibre Channel PCI cards. 1369872c961SAlexander Motin.It Qlogic 246x (aka 2432) 1373e6deb33SAlexander MotinOptical 4Gb Fibre Channel PCIe cards. 1389872c961SAlexander Motin.It Qlogic 256x (aka 2532) 1393e6deb33SAlexander MotinOptical 8Gb Fibre Channel PCIe cards. 1409872c961SAlexander Motin.It Qlogic 267x/836x (aka 2031/8031) 1419872c961SAlexander MotinOptical 16Gb FC/FCoE PCIe cards. 142a90b37e0SMatt Jacob.El 143a90b37e0SMatt Jacob.Sh CONFIGURATION OPTIONS 144a4ccb5d6SAlexander MotinTarget mode support for Fibre Channel adapters may be enabled with the 145726b61abSRuslan Ermilov.Pp 146a90b37e0SMatt Jacob.Cd options ISP_TARGET_MODE 147726b61abSRuslan Ermilov.Pp 148a90b37e0SMatt Jacoboption. 14908167db8SKenneth D. Merry.Pp 15008167db8SKenneth D. MerryTo disable FC-Tape, use the following configuration option: 15108167db8SKenneth D. Merry.Pp 15208167db8SKenneth D. Merry.Cd options ISP_FCTAPE_OFF 15308167db8SKenneth D. Merry.Pp 15408167db8SKenneth D. MerryNote that even if the ISP_FCTAPE_OFF option is used, it may be overridden 15508167db8SKenneth D. Merryby the fctape hint described below. 156a90b37e0SMatt Jacob.Sh BOOT OPTIONS 157ae15c312SMatt JacobThe following options are switchable by setting values in 158ae15c312SMatt Jacob.Pa /boot/device.hints . 159ae15c312SMatt Jacob.Pp 16092c355d7SRuslan ErmilovThey are: 161ae15c312SMatt Jacob.Bl -tag -width indent 162c6e7a803SChristian S.J. Peron.It Va hint.isp.0.fwload_disable 163ae15c312SMatt JacobA hint value to disable loading of firmware 16481ae4b8dSRuslan Ermilov.Xr ispfw 4 . 165ae15c312SMatt Jacob.It Va hint.isp.0.ignore_nvram 16681ae4b8dSRuslan ErmilovA hint value to ignore board NVRAM settings for. 16781ae4b8dSRuslan ErmilovOtherwise use NVRAM settings. 168ae15c312SMatt Jacob.It Va hint.isp.0.fullduplex 169ae15c312SMatt JacobA hint value to set full duplex mode. 170ae15c312SMatt Jacob.It Va hint.isp.0.topology 17181ae4b8dSRuslan ErmilovA hint value to select topology of connection. 17281ae4b8dSRuslan ErmilovSupported values are: 173ae15c312SMatt Jacob.Pp 17481ae4b8dSRuslan Ermilov.Bl -tag -width ".Li lport-only" -compact 17581ae4b8dSRuslan Ermilov.It Li lport 17681ae4b8dSRuslan ErmilovPrefer loopback and fallback to point to point. 17781ae4b8dSRuslan Ermilov.It Li nport 17881ae4b8dSRuslan ErmilovPrefer point to point and fallback to loopback. 17981ae4b8dSRuslan Ermilov.It Li lport-only 18081ae4b8dSRuslan ErmilovLoopback only. 18181ae4b8dSRuslan Ermilov.It Li nport-only 18281ae4b8dSRuslan ErmilovPoint to point only. 18381ae4b8dSRuslan Ermilov.El 184ae15c312SMatt Jacob.It Va hint.isp.0.portwwn 185ae15c312SMatt JacobThis should be the full 64 bit World Wide Port Name you would like 186ae15c312SMatt Jacobto use, overriding the value in NVRAM for the card. 187ae15c312SMatt Jacob.It Va hint.isp.0.nodewwn 1885f4796c0SMatt JacobThis should be the full 64 bit World Wide Node Name you would like 1895f4796c0SMatt Jacobto use, overriding the value in NVRAM for the card. 190ae15c312SMatt Jacob.It Va hint.isp.0.iid 191dbb3ac38SChristian BruefferA hint to override or set the Initiator ID or Loop ID. 192dbb3ac38SChristian BruefferFor Fibre Channel 1934c38f2f8SMatt Jacobcards in Local Loop topologies it is 1944c38f2f8SMatt Jacob.Ar strongly 1954c38f2f8SMatt Jacobrecommended that you set this value to non-zero. 196ae15c312SMatt Jacob.It Va hint.isp.0.role 1973e6deb33SAlexander MotinA hint to define default role for isp instance (0 -- none, 1 -- target, 1983e6deb33SAlexander Motin2 -- initiator, 3 -- both). 199ae15c312SMatt Jacob.It Va hint.isp.0.debug 2004c38f2f8SMatt JacobA hint value for a driver debug level (see the file 2014c38f2f8SMatt Jacob.Pa /usr/src/sys/dev/isp/ispvar.h 2024c38f2f8SMatt Jacobfor the values. 203238e75e5SAlexander Motin.It Va hint.isp.0.vports 204238e75e5SAlexander MotinA hint to create specified number of additional virtual ports. 20508167db8SKenneth D. Merry.It Va hint.isp.0.nofctape 20608167db8SKenneth D. MerrySet this to 1 to disable FC-Tape operation on the given isp instance. 20708167db8SKenneth D. Merry.It Va hint.isp.0.fctape 20808167db8SKenneth D. MerrySet this to 1 to enable FC-Tape operation on the given isp instance for 20908167db8SKenneth D. Merrytargets that support it. 2104c38f2f8SMatt Jacob.El 2114c38f2f8SMatt Jacob.Sh SYSCTL OPTIONS 2124c38f2f8SMatt Jacob.Bl -tag -width indent 2134c38f2f8SMatt Jacob.It Va dev.isp.N.loop_down_limit 2144c38f2f8SMatt JacobThis value says how long to wait in seconds after loop has gone down before 215dbb3ac38SChristian Brueffergiving up and expiring all of the devices that were visible. 216dbb3ac38SChristian BruefferThe default is 300 seconds (5 minutes). 21732ba16b6SUlrich SpörleinA separate (nonadjustable) timeout is used when 2184c38f2f8SMatt Jacobbooting to not stop booting on lack of FC connectivity. 2194c38f2f8SMatt Jacob.It Va dev.isp.N.gone_device_time 2204c38f2f8SMatt JacobThis value says how long to wait for devices to reappear if they (temporarily) 221dbb3ac38SChristian Bruefferdisappear due to loop or fabric events. 222dbb3ac38SChristian BruefferWhile this timeout is running, I/O 2234c38f2f8SMatt Jacobto those devices will simply be held. 2244c38f2f8SMatt Jacob.It Va dev.isp.N.wwnn 2254c38f2f8SMatt JacobThis is the readonly World Wide Node Name value for this port. 2264c38f2f8SMatt Jacob.It Va dev.isp.N.wwpn 2274c38f2f8SMatt JacobThis is the readonly World Wide Port Name value for this port. 228a90b37e0SMatt Jacob.El 2299cbda590SRuslan Ermilov.Sh SEE ALSO 2309cbda590SRuslan Ermilov.Xr da 4 , 2319cbda590SRuslan Ermilov.Xr intro 4 , 2329cbda590SRuslan Ermilov.Xr ispfw 4 , 2339cbda590SRuslan Ermilov.Xr sa 4 , 23403befb10SEdward Tomasz Napierala.Xr scsi 4 , 23503befb10SEdward Tomasz Napierala.Xr gmultipath 8 2369cbda590SRuslan Ermilov.Sh AUTHORS 2379cbda590SRuslan ErmilovThe 2389cbda590SRuslan Ermilov.Nm 2390b3504fdSChristian Bruefferdriver was written by 2400b3504fdSChristian Brueffer.An Matthew Jacob 2410fd0e797SAlexander Motinoriginally for NetBSD at NASA/Ames Research Center. 2420fd0e797SAlexander MotinSome later improvement was done by 243043fd51aSAlexander Motin.An Alexander Motin Aq Mt mav@FreeBSD.org . 244a90b37e0SMatt Jacob.Sh BUGS 245a90b37e0SMatt JacobThe driver currently ignores some NVRAM settings. 246a90b37e0SMatt Jacob.Pp 2473e6deb33SAlexander MotinFabric support for 2100 cards has been so problematic, and these cards are so 2483e6deb33SAlexander Motinold now that it is just not worth your time to try it. 249