1a90b37e0SMatt Jacob.\" $NetBSD: isp.4,v 1.5 1999/12/18 18:33:05 mjacob Exp $ 2a90b37e0SMatt Jacob.\" 37034ded9SMatt Jacob.\" Copyright (c) 1998, 1999, 2001 4a90b37e0SMatt Jacob.\" Matthew Jacob, for NASA/Ames Research Center 5a90b37e0SMatt Jacob.\" 6a90b37e0SMatt Jacob.\" Redistribution and use in source and binary forms, with or without 7a90b37e0SMatt Jacob.\" modification, are permitted provided that the following conditions 8a90b37e0SMatt Jacob.\" are met: 9a90b37e0SMatt Jacob.\" 1. Redistributions of source code must retain the above copyright 10a90b37e0SMatt Jacob.\" notice, this list of conditions and the following disclaimer. 11a90b37e0SMatt Jacob.\" 2. Redistributions in binary form must reproduce the above copyright 12a90b37e0SMatt Jacob.\" notice, this list of conditions and the following disclaimer in the 13a90b37e0SMatt Jacob.\" documentation and/or other materials provided with the distribution. 14a90b37e0SMatt Jacob.\" 3. The name of the author may not be used to endorse or promote products 153f7da69fSMike Pritchard.\" derived from this software without specific prior written permission. 16a90b37e0SMatt Jacob.\" 17a90b37e0SMatt Jacob.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 18a90b37e0SMatt Jacob.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 19a90b37e0SMatt Jacob.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 20a90b37e0SMatt Jacob.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 21a90b37e0SMatt Jacob.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 22a90b37e0SMatt Jacob.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23a90b37e0SMatt Jacob.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24a90b37e0SMatt Jacob.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25a90b37e0SMatt Jacob.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26a90b37e0SMatt Jacob.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27a90b37e0SMatt Jacob.\" 28ae15c312SMatt Jacob.\" Additional Copyright (c) 2006 by Marcus Alves Grando 29ae15c312SMatt Jacob.\" 306b806d21SRuslan Ermilov.\" $FreeBSD$ 31a90b37e0SMatt Jacob.\" 320fd0e797SAlexander Motin.Dd October 29, 2015 33a90b37e0SMatt Jacob.Dt ISP 4 34a90b37e0SMatt Jacob.Os 35a90b37e0SMatt Jacob.Sh NAME 36a90b37e0SMatt Jacob.Nm isp 37a90b37e0SMatt Jacob.Nd Qlogic based SCSI and FibreChannel SCSI Host Adapters 38a90b37e0SMatt Jacob.Sh SYNOPSIS 392d431ba6SChristian BruefferTo compile this driver into the kernel, 402d431ba6SChristian Bruefferplace the following lines in your 412d431ba6SChristian Bruefferkernel configuration file: 422d431ba6SChristian Brueffer.Bd -ragged -offset indent 432d431ba6SChristian Brueffer.Cd "device scbus" 44a90b37e0SMatt Jacob.Cd "device isp" 452d431ba6SChristian Brueffer.Ed 46a90b37e0SMatt Jacob.Pp 472d431ba6SChristian BruefferAlternatively, to load the driver as a 482d431ba6SChristian Brueffermodule at boot time, place the following line in 492d431ba6SChristian Brueffer.Xr loader.conf 5 : 502d431ba6SChristian Brueffer.Bd -literal -offset indent 512d431ba6SChristian Bruefferisp_load="YES" 522d431ba6SChristian Brueffer.Ed 53a90b37e0SMatt Jacob.Sh DESCRIPTION 54a90b37e0SMatt JacobThis driver provides access to 55a90b37e0SMatt Jacob.Tn SCSI 56a90b37e0SMatt Jacobor 57a90b37e0SMatt Jacob.Tn FibreChannel 58a90b37e0SMatt Jacobdevices. 59a90b37e0SMatt Jacob.Pp 605f4796c0SMatt JacobSCSI features include support for Ultra SCSI and wide mode transactions 615f4796c0SMatt Jacobfor 62a90b37e0SMatt Jacob.Tn SCSI , 630fd0e797SAlexander MotinUltra2 LVD (ISP1080, ISP1280), and Ultra3 LVD (ISP12160). 64a90b37e0SMatt Jacob.Pp 65a90b37e0SMatt JacobFibre Channel support uses FCP SCSI profile for 6650d922a0SGlen Barber.Tn FibreChannel , 675f4796c0SMatt Jacoband utilizes Class 3 and Class 2 connections (Qlogic 2100 is Class 685f4796c0SMatt Jacob3 only, minor patches to the Qlogic 2200 to force Class 2 mode). 695f4796c0SMatt JacobSupport is available for Public and Private loops, and for 7092c355d7SRuslan Ermilovpoint-to-point connections (Qlogic 2200 only). 710fd0e797SAlexander MotinThe newer 2-Gigabit cards (2300, 2312, 2322), 4-Gigabit (2422, 2432) 720fd0e797SAlexander Motinand 8-Gigabit (2532) are also supported. 730fd0e797SAlexander MotinCommand tagging is supported for all (in fact, 74a90b37e0SMatt Jacob.Tn FibreChannel 7592c355d7SRuslan Ermilovrequires tagging). 76dbb3ac38SChristian BruefferFabric support is enabled by default for other than 2100 cards. 770fd0e797SAlexander MotinFabric support for 2100 cards has been so problematic and these cards are so 78dbb3ac38SChristian Bruefferold now that it is just not worth your time to try it. 795f4796c0SMatt Jacob.Sh FIRMWARE 802d431ba6SChristian BruefferFirmware is available if the 815f4796c0SMatt Jacob.Xr ispfw 4 825f4796c0SMatt Jacobmodule is loaded during bootstrap (q.v.). 83b128a303SMatt Jacob.Pp 844c38f2f8SMatt JacobIt is 854c38f2f8SMatt Jacob.Ar strongly 864c38f2f8SMatt Jacobrecommended that you use the firmware available 87b128a303SMatt Jacobfrom 88b128a303SMatt Jacob.Xr ispfw 4 89b128a303SMatt Jacobas it is the most likely to have been tested with this driver. 90a90b37e0SMatt Jacob.Sh HARDWARE 91f0d219daSSimon L. B. NielsenCards supported by the 92f0d219daSSimon L. B. Nielsen.Nm 93f0d219daSSimon L. B. Nielsendriver include: 94a90b37e0SMatt Jacob.Bl -tag -width xxxxxx -offset indent 95a90b37e0SMatt Jacob.It ISP1000 965f4796c0SMatt JacobSBus Fast Wide, Ultra Fast Wide cards, Single Ended or Differential 975f4796c0SMatt Jacobcards. 98a90b37e0SMatt Jacob.It ISP1020 99a90b37e0SMatt JacobQlogic 1020 Fast Wide and Differential Fast Wide PCI cards. 100a90b37e0SMatt Jacob.It ISP1040 101a90b37e0SMatt JacobQlogic 1040 Ultra Wide and Differential Ultra Wide PCI cards. 102182c9e7eSDavid E. O'BrienAlso known as the DEC KZPBA-CA (single ended) and KZPBA-CB (HVD differential). 103bfb86d9fSBruce A. Mah.It Qlogic 1020 104bfb86d9fSBruce A. MahQlogic 1020 SCSI cards. 105bfb86d9fSBruce A. Mah.It Qlogic 1040 106bfb86d9fSBruce A. MahQlogic 1040 Ultra SCSI cards. 107a90b37e0SMatt Jacob.It Qlogic 1080 1080fd0e797SAlexander MotinQlogic 1080 LVD Ultra2 Wide SCSI cards. 1090fd0e797SAlexander Motin.It Qlogic 10160 1100fd0e797SAlexander MotinQlogic 10160 LVD Ultra3 Wide PCI cards. 1110fd0e797SAlexander Motin.It Qlogic 1240 1120fd0e797SAlexander MotinQlogic 1240 Dual Bus Ultra Wide and Differential Ultra Wide PCI cards. 113a90b37e0SMatt Jacob.It Qlogic 1280 114a90b37e0SMatt JacobQlogic 1280 Dual Bus LVD Ultra2 Wide PCI cards. 115a90b37e0SMatt Jacob.It Qlogic 12160 116a90b37e0SMatt JacobQlogic 12160 Dual Bus LVD Ultra3 Wide PCI cards. 117ae15c312SMatt Jacob.It Qlogic 210X 1185f4796c0SMatt JacobQlogic 2100 and 2100A Copper and Optical Fibre Channel Arbitrated 119ae15c312SMatt JacobLoop (single, dual). 120ae15c312SMatt Jacob.It Qlogic 220X 1215f4796c0SMatt JacobQlogic 2200 Copper and Optical Fibre Channel Arbitrated Loop PCI 122ae15c312SMatt Jacobcards (single, dual, quad). 1237034ded9SMatt Jacob.It Qlogic 2300 1240fd0e797SAlexander MotinQlogic 2300 Optical 2Gb Fibre Channel PCI cards. 1257034ded9SMatt Jacob.It Qlogic 2312 1260fd0e797SAlexander MotinQlogic 2312 Optical 2Gb Fibre Channel PCI cards. 127ae15c312SMatt Jacob.It Qlogic 234X 1280fd0e797SAlexander MotinQlogic 234X Optical 2Gb Fibre Channel PCI cards (2312 chipset, single and dual attach). 129ae15c312SMatt Jacob.It Qlogic 2322 1300fd0e797SAlexander MotinQlogic 2322 Optical 2Gb Fibre Channel PCIe cards. 131ae15c312SMatt Jacob.It Qlogic 200 1320fd0e797SAlexander MotinDell branded version of the QLogic 2312. 1334c38f2f8SMatt Jacob.It Qlogic 2422 1340fd0e797SAlexander MotinQlogic 2422 Optical 4Gb Fibre Channel PCI cards. 1354c38f2f8SMatt Jacob.It Qlogic 2432 1360fd0e797SAlexander MotinQlogic 2432 Optical 4Gb Fibre Channel PCIe cards. 1370fd0e797SAlexander Motin.It Qlogic 2532 1380fd0e797SAlexander MotinQlogic 2532 Optical 8Gb Fibre Channel PCIe cards. 139a90b37e0SMatt Jacob.El 140a90b37e0SMatt Jacob.Sh CONFIGURATION OPTIONS 1415f4796c0SMatt JacobTarget mode support may be enabled with the 142726b61abSRuslan Ermilov.Pp 143a90b37e0SMatt Jacob.Cd options ISP_TARGET_MODE 144726b61abSRuslan Ermilov.Pp 145a90b37e0SMatt Jacoboption. 146a90b37e0SMatt Jacob.Sh BOOT OPTIONS 147ae15c312SMatt JacobThe following options are switchable by setting values in 148ae15c312SMatt Jacob.Pa /boot/device.hints . 149ae15c312SMatt Jacob.Pp 15092c355d7SRuslan ErmilovThey are: 151ae15c312SMatt Jacob.Bl -tag -width indent 152ae15c312SMatt Jacob.It Va hint.isp.0.disable 153ae15c312SMatt JacobA hint value to disable driver in kernel. 154c6e7a803SChristian S.J. Peron.It Va hint.isp.0.fwload_disable 155ae15c312SMatt JacobA hint value to disable loading of firmware 15681ae4b8dSRuslan Ermilov.Xr ispfw 4 . 157ae15c312SMatt Jacob.It Va hint.isp.0.prefer_memmap 15881ae4b8dSRuslan ErmilovA hint value to use PCI memory space instead of I/O space 1595f4796c0SMatt Jacobaccess for. 160ae15c312SMatt Jacob.It Va hint.isp.0.prefer_iomap 161ae15c312SMatt JacobA hint value to use PCI I/O space instead of Memory space 1625f4796c0SMatt Jacobaccess for. 163ae15c312SMatt Jacob.It Va hint.isp.0.ignore_nvram 16481ae4b8dSRuslan ErmilovA hint value to ignore board NVRAM settings for. 16581ae4b8dSRuslan ErmilovOtherwise use NVRAM settings. 166ae15c312SMatt Jacob.It Va hint.isp.0.fullduplex 167ae15c312SMatt JacobA hint value to set full duplex mode. 168ae15c312SMatt Jacob.It Va hint.isp.0.topology 16981ae4b8dSRuslan ErmilovA hint value to select topology of connection. 17081ae4b8dSRuslan ErmilovSupported values are: 171ae15c312SMatt Jacob.Pp 17281ae4b8dSRuslan Ermilov.Bl -tag -width ".Li lport-only" -compact 17381ae4b8dSRuslan Ermilov.It Li lport 17481ae4b8dSRuslan ErmilovPrefer loopback and fallback to point to point. 17581ae4b8dSRuslan Ermilov.It Li nport 17681ae4b8dSRuslan ErmilovPrefer point to point and fallback to loopback. 17781ae4b8dSRuslan Ermilov.It Li lport-only 17881ae4b8dSRuslan ErmilovLoopback only. 17981ae4b8dSRuslan Ermilov.It Li nport-only 18081ae4b8dSRuslan ErmilovPoint to point only. 18181ae4b8dSRuslan Ermilov.El 182ae15c312SMatt Jacob.It Va hint.isp.0.portwwn 183ae15c312SMatt JacobThis should be the full 64 bit World Wide Port Name you would like 184ae15c312SMatt Jacobto use, overriding the value in NVRAM for the card. 185ae15c312SMatt Jacob.It Va hint.isp.0.nodewwn 1865f4796c0SMatt JacobThis should be the full 64 bit World Wide Node Name you would like 1875f4796c0SMatt Jacobto use, overriding the value in NVRAM for the card. 188ae15c312SMatt Jacob.It Va hint.isp.0.iid 189dbb3ac38SChristian BruefferA hint to override or set the Initiator ID or Loop ID. 190dbb3ac38SChristian BruefferFor Fibre Channel 1914c38f2f8SMatt Jacobcards in Local Loop topologies it is 1924c38f2f8SMatt Jacob.Ar strongly 1934c38f2f8SMatt Jacobrecommended that you set this value to non-zero. 194ae15c312SMatt Jacob.It Va hint.isp.0.role 195ae15c312SMatt JacobA hint to define default role for isp instance (target, initiator, both). 196ae15c312SMatt Jacob.It Va hint.isp.0.debug 1974c38f2f8SMatt JacobA hint value for a driver debug level (see the file 1984c38f2f8SMatt Jacob.Pa /usr/src/sys/dev/isp/ispvar.h 1994c38f2f8SMatt Jacobfor the values. 200238e75e5SAlexander Motin.It Va hint.isp.0.vports 201238e75e5SAlexander MotinA hint to create specified number of additional virtual ports. 2024c38f2f8SMatt Jacob.El 2034c38f2f8SMatt Jacob.Sh SYSCTL OPTIONS 2044c38f2f8SMatt Jacob.Bl -tag -width indent 2054c38f2f8SMatt Jacob.It Va dev.isp.N.loop_down_limit 2064c38f2f8SMatt JacobThis value says how long to wait in seconds after loop has gone down before 207dbb3ac38SChristian Brueffergiving up and expiring all of the devices that were visible. 208dbb3ac38SChristian BruefferThe default is 300 seconds (5 minutes). 20932ba16b6SUlrich SpörleinA separate (nonadjustable) timeout is used when 2104c38f2f8SMatt Jacobbooting to not stop booting on lack of FC connectivity. 2114c38f2f8SMatt Jacob.It Va dev.isp.N.gone_device_time 2124c38f2f8SMatt JacobThis value says how long to wait for devices to reappear if they (temporarily) 213dbb3ac38SChristian Bruefferdisappear due to loop or fabric events. 214dbb3ac38SChristian BruefferWhile this timeout is running, I/O 2154c38f2f8SMatt Jacobto those devices will simply be held. 2164c38f2f8SMatt Jacob.It Va dev.isp.N.wwnn 2174c38f2f8SMatt JacobThis is the readonly World Wide Node Name value for this port. 2184c38f2f8SMatt Jacob.It Va dev.isp.N.wwpn 2194c38f2f8SMatt JacobThis is the readonly World Wide Port Name value for this port. 220a90b37e0SMatt Jacob.El 2219cbda590SRuslan Ermilov.Sh SEE ALSO 2229cbda590SRuslan Ermilov.Xr da 4 , 2239cbda590SRuslan Ermilov.Xr intro 4 , 2249cbda590SRuslan Ermilov.Xr ispfw 4 , 2259cbda590SRuslan Ermilov.Xr sa 4 , 22603befb10SEdward Tomasz Napierala.Xr scsi 4 , 22703befb10SEdward Tomasz Napierala.Xr gmultipath 8 2289cbda590SRuslan Ermilov.Sh AUTHORS 2299cbda590SRuslan ErmilovThe 2309cbda590SRuslan Ermilov.Nm 2310b3504fdSChristian Bruefferdriver was written by 2320b3504fdSChristian Brueffer.An Matthew Jacob 2330fd0e797SAlexander Motinoriginally for NetBSD at NASA/Ames Research Center. 2340fd0e797SAlexander MotinSome later improvement was done by 235*043fd51aSAlexander Motin.An Alexander Motin Aq Mt mav@FreeBSD.org . 236a90b37e0SMatt Jacob.Sh BUGS 237a90b37e0SMatt JacobThe driver currently ignores some NVRAM settings. 238a90b37e0SMatt Jacob.Pp 2390fd0e797SAlexander MotinTarget mode support works reasonably well for 23xx and above Fibre Channel 240*043fd51aSAlexander Motincards, but not really tested on older ones. 241