xref: /freebsd/share/man/man4/isp.4 (revision 043fd51a74c7353573ab0e1cb1493ff54072aaa2)
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