1*a4ccb5d6SAlexander Motin.\" Copyright (c) 2009-2015 Alexander Motin <mav@FreeBSD.org> 2*a4ccb5d6SAlexander Motin.\" Copyright (c) 2006 Marcus Alves Grando 3*a4ccb5d6SAlexander 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.\" 293e6deb33SAlexander Motin.Dd November 22, 2015 30a90b37e0SMatt Jacob.Dt ISP 4 31a90b37e0SMatt Jacob.Os 32a90b37e0SMatt Jacob.Sh NAME 33a90b37e0SMatt Jacob.Nm isp 34*a4ccb5d6SAlexander 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" 422d431ba6SChristian Brueffer.Ed 43a90b37e0SMatt Jacob.Pp 442d431ba6SChristian BruefferAlternatively, to load the driver as a 452d431ba6SChristian Brueffermodule at boot time, place the following line in 462d431ba6SChristian Brueffer.Xr loader.conf 5 : 472d431ba6SChristian Brueffer.Bd -literal -offset indent 482d431ba6SChristian Bruefferisp_load="YES" 492d431ba6SChristian Brueffer.Ed 50a90b37e0SMatt Jacob.Sh DESCRIPTION 51a90b37e0SMatt JacobThis driver provides access to 52*a4ccb5d6SAlexander Motin.Tn SPI 53a90b37e0SMatt Jacobor 54a90b37e0SMatt Jacob.Tn FibreChannel 55*a4ccb5d6SAlexander MotinSCSI devices. 56a90b37e0SMatt Jacob.Pp 57*a4ccb5d6SAlexander MotinSPI supports initiator mode for Ultra SCSI and wide mode transactions for 58a90b37e0SMatt Jacob.Tn SCSI , 593e6deb33SAlexander MotinUltra2 LVD (1080, 1280), and Ultra3 LVD (10160, 12160). 60a90b37e0SMatt Jacob.Pp 61*a4ccb5d6SAlexander MotinFibre Channel supports initiator and target modes of FCP SCSI profile, 62*a4ccb5d6SAlexander Motinutilizing Class 3 and Class 2 (2200 and later) connections. 633e6deb33SAlexander MotinSupport is available for Public and Private loops, Point-to-Point 643e6deb33SAlexander Motinand Fabric connections. 655f4796c0SMatt Jacob.Sh FIRMWARE 663e6deb33SAlexander MotinFirmware loading is supported if the 675f4796c0SMatt Jacob.Xr ispfw 4 683e6deb33SAlexander Motinmodule is loaded. 693e6deb33SAlexander MotinIt is strongly recommended that you use the firmware available from 70b128a303SMatt Jacob.Xr ispfw 4 71b128a303SMatt Jacobas it is the most likely to have been tested with this driver. 72a90b37e0SMatt Jacob.Sh HARDWARE 73f0d219daSSimon L. B. NielsenCards supported by the 74f0d219daSSimon L. B. Nielsen.Nm 75f0d219daSSimon L. B. Nielsendriver include: 76a90b37e0SMatt Jacob.Bl -tag -width xxxxxx -offset indent 773e6deb33SAlexander Motin.It Qlogic 1000 783e6deb33SAlexander MotinFast Wide, Ultra Fast Wide cards, Single Ended or Differential SBus cards. 79bfb86d9fSBruce A. Mah.It Qlogic 1020 803e6deb33SAlexander MotinFast Wide and Differential Fast Wide SCSI PCI cards. 81bfb86d9fSBruce A. Mah.It Qlogic 1040 823e6deb33SAlexander MotinUltra Wide and Differential Ultra Wide SCSI PCI cards. 833e6deb33SAlexander MotinAlso known as the DEC KZPBA-CA (single ended) and KZPBA-CB (HVD differential). 84a90b37e0SMatt Jacob.It Qlogic 1080 853e6deb33SAlexander MotinLVD Ultra2 Wide SCSI PCI cards. 860fd0e797SAlexander Motin.It Qlogic 10160 873e6deb33SAlexander MotinLVD Ultra3 Wide SCSI PCI cards. 880fd0e797SAlexander Motin.It Qlogic 1240 893e6deb33SAlexander MotinDual Bus Ultra Wide and Differential Ultra Wide SCSI PCI cards. 90a90b37e0SMatt Jacob.It Qlogic 1280 913e6deb33SAlexander MotinDual Bus LVD Ultra2 Wide SCSI PCI cards. 92a90b37e0SMatt Jacob.It Qlogic 12160 933e6deb33SAlexander MotinDual Bus LVD Ultra3 Wide SCSI PCI cards. 94ae15c312SMatt Jacob.It Qlogic 210X 953e6deb33SAlexander MotinCopper and Optical Fibre Channel Arbitrated Loop PCI cards (single, dual). 96ae15c312SMatt Jacob.It Qlogic 220X 973e6deb33SAlexander MotinCopper and Optical Fibre Channel Arbitrated Loop PCI cards (single, dual, quad). 987034ded9SMatt Jacob.It Qlogic 2300 993e6deb33SAlexander MotinOptical 2Gb Fibre Channel PCI cards. 1007034ded9SMatt Jacob.It Qlogic 2312 1013e6deb33SAlexander MotinOptical 2Gb Fibre Channel PCI cards. 102ae15c312SMatt Jacob.It Qlogic 234X 1033e6deb33SAlexander MotinOptical 2Gb Fibre Channel PCI cards (2312 chipset, single and dual attach). 104ae15c312SMatt Jacob.It Qlogic 2322 1053e6deb33SAlexander MotinOptical 2Gb Fibre Channel PCIe cards. 106ae15c312SMatt Jacob.It Qlogic 200 1070fd0e797SAlexander MotinDell branded version of the QLogic 2312. 1084c38f2f8SMatt Jacob.It Qlogic 2422 1093e6deb33SAlexander MotinOptical 4Gb Fibre Channel PCI cards. 1104c38f2f8SMatt Jacob.It Qlogic 2432 1113e6deb33SAlexander MotinOptical 4Gb Fibre Channel PCIe cards. 1120fd0e797SAlexander Motin.It Qlogic 2532 1133e6deb33SAlexander MotinOptical 8Gb Fibre Channel PCIe cards. 114a90b37e0SMatt Jacob.El 115a90b37e0SMatt Jacob.Sh CONFIGURATION OPTIONS 116*a4ccb5d6SAlexander MotinTarget mode support for Fibre Channel adapters may be enabled with the 117726b61abSRuslan Ermilov.Pp 118a90b37e0SMatt Jacob.Cd options ISP_TARGET_MODE 119726b61abSRuslan Ermilov.Pp 120a90b37e0SMatt Jacoboption. 121a90b37e0SMatt Jacob.Sh BOOT OPTIONS 122ae15c312SMatt JacobThe following options are switchable by setting values in 123ae15c312SMatt Jacob.Pa /boot/device.hints . 124ae15c312SMatt Jacob.Pp 12592c355d7SRuslan ErmilovThey are: 126ae15c312SMatt Jacob.Bl -tag -width indent 127ae15c312SMatt Jacob.It Va hint.isp.0.disable 128ae15c312SMatt JacobA hint value to disable driver in kernel. 129c6e7a803SChristian S.J. Peron.It Va hint.isp.0.fwload_disable 130ae15c312SMatt JacobA hint value to disable loading of firmware 13181ae4b8dSRuslan Ermilov.Xr ispfw 4 . 132ae15c312SMatt Jacob.It Va hint.isp.0.prefer_memmap 13381ae4b8dSRuslan ErmilovA hint value to use PCI memory space instead of I/O space 1345f4796c0SMatt Jacobaccess for. 135ae15c312SMatt Jacob.It Va hint.isp.0.prefer_iomap 136ae15c312SMatt JacobA hint value to use PCI I/O space instead of Memory space 1375f4796c0SMatt Jacobaccess for. 138ae15c312SMatt Jacob.It Va hint.isp.0.ignore_nvram 13981ae4b8dSRuslan ErmilovA hint value to ignore board NVRAM settings for. 14081ae4b8dSRuslan ErmilovOtherwise use NVRAM settings. 141ae15c312SMatt Jacob.It Va hint.isp.0.fullduplex 142ae15c312SMatt JacobA hint value to set full duplex mode. 143ae15c312SMatt Jacob.It Va hint.isp.0.topology 14481ae4b8dSRuslan ErmilovA hint value to select topology of connection. 14581ae4b8dSRuslan ErmilovSupported values are: 146ae15c312SMatt Jacob.Pp 14781ae4b8dSRuslan Ermilov.Bl -tag -width ".Li lport-only" -compact 14881ae4b8dSRuslan Ermilov.It Li lport 14981ae4b8dSRuslan ErmilovPrefer loopback and fallback to point to point. 15081ae4b8dSRuslan Ermilov.It Li nport 15181ae4b8dSRuslan ErmilovPrefer point to point and fallback to loopback. 15281ae4b8dSRuslan Ermilov.It Li lport-only 15381ae4b8dSRuslan ErmilovLoopback only. 15481ae4b8dSRuslan Ermilov.It Li nport-only 15581ae4b8dSRuslan ErmilovPoint to point only. 15681ae4b8dSRuslan Ermilov.El 157ae15c312SMatt Jacob.It Va hint.isp.0.portwwn 158ae15c312SMatt JacobThis should be the full 64 bit World Wide Port Name you would like 159ae15c312SMatt Jacobto use, overriding the value in NVRAM for the card. 160ae15c312SMatt Jacob.It Va hint.isp.0.nodewwn 1615f4796c0SMatt JacobThis should be the full 64 bit World Wide Node Name you would like 1625f4796c0SMatt Jacobto use, overriding the value in NVRAM for the card. 163ae15c312SMatt Jacob.It Va hint.isp.0.iid 164dbb3ac38SChristian BruefferA hint to override or set the Initiator ID or Loop ID. 165dbb3ac38SChristian BruefferFor Fibre Channel 1664c38f2f8SMatt Jacobcards in Local Loop topologies it is 1674c38f2f8SMatt Jacob.Ar strongly 1684c38f2f8SMatt Jacobrecommended that you set this value to non-zero. 169ae15c312SMatt Jacob.It Va hint.isp.0.role 1703e6deb33SAlexander MotinA hint to define default role for isp instance (0 -- none, 1 -- target, 1713e6deb33SAlexander Motin2 -- initiator, 3 -- both). 172ae15c312SMatt Jacob.It Va hint.isp.0.debug 1734c38f2f8SMatt JacobA hint value for a driver debug level (see the file 1744c38f2f8SMatt Jacob.Pa /usr/src/sys/dev/isp/ispvar.h 1754c38f2f8SMatt Jacobfor the values. 176238e75e5SAlexander Motin.It Va hint.isp.0.vports 177238e75e5SAlexander MotinA hint to create specified number of additional virtual ports. 1784c38f2f8SMatt Jacob.El 1794c38f2f8SMatt Jacob.Sh SYSCTL OPTIONS 1804c38f2f8SMatt Jacob.Bl -tag -width indent 1814c38f2f8SMatt Jacob.It Va dev.isp.N.loop_down_limit 1824c38f2f8SMatt JacobThis value says how long to wait in seconds after loop has gone down before 183dbb3ac38SChristian Brueffergiving up and expiring all of the devices that were visible. 184dbb3ac38SChristian BruefferThe default is 300 seconds (5 minutes). 18532ba16b6SUlrich SpörleinA separate (nonadjustable) timeout is used when 1864c38f2f8SMatt Jacobbooting to not stop booting on lack of FC connectivity. 1874c38f2f8SMatt Jacob.It Va dev.isp.N.gone_device_time 1884c38f2f8SMatt JacobThis value says how long to wait for devices to reappear if they (temporarily) 189dbb3ac38SChristian Bruefferdisappear due to loop or fabric events. 190dbb3ac38SChristian BruefferWhile this timeout is running, I/O 1914c38f2f8SMatt Jacobto those devices will simply be held. 1924c38f2f8SMatt Jacob.It Va dev.isp.N.wwnn 1934c38f2f8SMatt JacobThis is the readonly World Wide Node Name value for this port. 1944c38f2f8SMatt Jacob.It Va dev.isp.N.wwpn 1954c38f2f8SMatt JacobThis is the readonly World Wide Port Name value for this port. 196a90b37e0SMatt Jacob.El 1979cbda590SRuslan Ermilov.Sh SEE ALSO 1989cbda590SRuslan Ermilov.Xr da 4 , 1999cbda590SRuslan Ermilov.Xr intro 4 , 2009cbda590SRuslan Ermilov.Xr ispfw 4 , 2019cbda590SRuslan Ermilov.Xr sa 4 , 20203befb10SEdward Tomasz Napierala.Xr scsi 4 , 20303befb10SEdward Tomasz Napierala.Xr gmultipath 8 2049cbda590SRuslan Ermilov.Sh AUTHORS 2059cbda590SRuslan ErmilovThe 2069cbda590SRuslan Ermilov.Nm 2070b3504fdSChristian Bruefferdriver was written by 2080b3504fdSChristian Brueffer.An Matthew Jacob 2090fd0e797SAlexander Motinoriginally for NetBSD at NASA/Ames Research Center. 2100fd0e797SAlexander MotinSome later improvement was done by 211043fd51aSAlexander Motin.An Alexander Motin Aq Mt mav@FreeBSD.org . 212a90b37e0SMatt Jacob.Sh BUGS 213a90b37e0SMatt JacobThe driver currently ignores some NVRAM settings. 214a90b37e0SMatt Jacob.Pp 2153e6deb33SAlexander MotinFabric support for 2100 cards has been so problematic, and these cards are so 2163e6deb33SAlexander Motinold now that it is just not worth your time to try it. 217