xref: /freebsd/share/man/man4/isp.4 (revision dbb3ac38af768defe6d071442975d167520eef3b)
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.\"
324c38f2f8SMatt Jacob.Dd February 28, 2007
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 ,
635f4796c0SMatt JacobUltra2 LVD (for the ISP1080 and ISP1280), and Ultra3 LVD (for the
645f4796c0SMatt JacobISP12160).
65a90b37e0SMatt Jacob.Pp
66a90b37e0SMatt JacobFibre Channel support uses FCP SCSI profile for
67a90b37e0SMatt Jacob.Tn FibreChannel .
685f4796c0SMatt Jacoband utilizes Class 3 and Class 2 connections (Qlogic 2100 is Class
695f4796c0SMatt Jacob3 only, minor patches to the Qlogic 2200 to force Class 2 mode).
705f4796c0SMatt JacobSupport is available for Public and Private loops, and for
7192c355d7SRuslan Ermilovpoint-to-point connections (Qlogic 2200 only).
724c38f2f8SMatt JacobThe newer 2-Gigabit cards (2300, 2312, 2322) and 4-Gigabit (2422, 2432)
734c38f2f8SMatt Jacobare also supported.
747034ded9SMatt JacobCommand tagging is
755f4796c0SMatt Jacobsupported for all (in fact,
76a90b37e0SMatt Jacob.Tn FibreChannel
7792c355d7SRuslan Ermilovrequires tagging).
78dbb3ac38SChristian BruefferFabric support is enabled by default for other than 2100 cards.
79dbb3ac38SChristian BruefferFabric
804c38f2f8SMatt Jacobsupport for 2100 cards has been so problematic and these cards are so
81dbb3ac38SChristian Bruefferold now that it is just not worth your time to try it.
825f4796c0SMatt Jacob.Sh FIRMWARE
832d431ba6SChristian BruefferFirmware is available if the
845f4796c0SMatt Jacob.Xr ispfw 4
855f4796c0SMatt Jacobmodule is loaded during bootstrap (q.v.).
86b128a303SMatt Jacob.Pp
874c38f2f8SMatt JacobIt is
884c38f2f8SMatt Jacob.Ar strongly
894c38f2f8SMatt Jacobrecommended that you use the firmware available
90b128a303SMatt Jacobfrom
91b128a303SMatt Jacob.Xr ispfw 4
92b128a303SMatt Jacobas it is the most likely to have been tested with this driver.
93a90b37e0SMatt Jacob.Sh HARDWARE
94f0d219daSSimon L. B. NielsenCards supported by the
95f0d219daSSimon L. B. Nielsen.Nm
96f0d219daSSimon L. B. Nielsendriver include:
97a90b37e0SMatt Jacob.Pp
98a90b37e0SMatt Jacob.Bl -tag -width xxxxxx -offset indent
99a90b37e0SMatt Jacob.It ISP1000
1005f4796c0SMatt JacobSBus Fast Wide, Ultra Fast Wide cards, Single Ended or Differential
1015f4796c0SMatt Jacobcards.
102a90b37e0SMatt Jacob.It ISP1020
103a90b37e0SMatt JacobQlogic 1020 Fast Wide and Differential Fast Wide PCI cards.
104a90b37e0SMatt Jacob.It ISP1040
105a90b37e0SMatt JacobQlogic 1040 Ultra Wide and Differential Ultra Wide PCI cards.
106182c9e7eSDavid E. O'BrienAlso known as the DEC KZPBA-CA (single ended) and KZPBA-CB (HVD differential).
107a90b37e0SMatt Jacob.It Qlogic 1240
1085f4796c0SMatt JacobQlogic 1240 Dual Bus Ultra Wide and Differential Ultra Wide PCI
1095f4796c0SMatt Jacobcards.
110bfb86d9fSBruce A. Mah.It Qlogic 1020
111bfb86d9fSBruce A. MahQlogic 1020 SCSI cards.
112bfb86d9fSBruce A. Mah.It Qlogic 1040
113bfb86d9fSBruce A. MahQlogic 1040 Ultra SCSI cards.
114a90b37e0SMatt Jacob.It Qlogic 1080
115a90b37e0SMatt JacobQlogic 1280 LVD Ultra2 Wide PCI cards.
116a90b37e0SMatt Jacob.It Qlogic 1280
117a90b37e0SMatt JacobQlogic 1280 Dual Bus LVD Ultra2 Wide PCI cards.
118a90b37e0SMatt Jacob.It Qlogic 12160
119a90b37e0SMatt JacobQlogic 12160 Dual Bus LVD Ultra3 Wide PCI cards.
120ae15c312SMatt Jacob.It Qlogic 210X
1215f4796c0SMatt JacobQlogic 2100 and 2100A Copper and Optical Fibre Channel Arbitrated
122ae15c312SMatt JacobLoop (single, dual).
123ae15c312SMatt Jacob.It Qlogic 220X
1245f4796c0SMatt JacobQlogic 2200 Copper and Optical Fibre Channel Arbitrated Loop PCI
125ae15c312SMatt Jacobcards (single, dual, quad).
1267034ded9SMatt Jacob.It Qlogic 2300
1277034ded9SMatt JacobQlogic 2300 Optical Fibre Channel PCI cards.
1287034ded9SMatt Jacob.It Qlogic 2312
1297034ded9SMatt JacobQlogic 2312 Optical Fibre Channel PCI cards.
130ae15c312SMatt Jacob.It Qlogic 234X
131ae15c312SMatt JacobQlogic 234X Optical Fibre Channel PCI cards (2312 chipset, single and dual attach).
132ae15c312SMatt Jacob.It Qlogic 2322
1334c38f2f8SMatt JacobQlogic 2322 Optical Fibre Channel PCIe cards.
134ae15c312SMatt Jacob.It Qlogic 200
135ae15c312SMatt JacobDell Branded version of the QLogic 2312 Fibre Channel PCI cards.
1364c38f2f8SMatt Jacob.It Qlogic 2422
1374c38f2f8SMatt JacobQlogic 2422 Optical Fibre Channel PCI cards (4 Gigabit)
1384c38f2f8SMatt Jacob.It Qlogic 2432
1394c38f2f8SMatt JacobQlogic 2432 Optical Fibre Channel PCIe cards (4 Gigabit)
140a90b37e0SMatt Jacob.El
141a90b37e0SMatt Jacob.Sh CONFIGURATION OPTIONS
142a90b37e0SMatt Jacob.Pp
1435f4796c0SMatt JacobTarget mode support may be enabled with the
144726b61abSRuslan Ermilov.Pp
145a90b37e0SMatt Jacob.Cd options ISP_TARGET_MODE
146726b61abSRuslan Ermilov.Pp
147a90b37e0SMatt Jacoboption.
148a90b37e0SMatt Jacob.Sh BOOT OPTIONS
149ae15c312SMatt JacobThe following options are switchable by setting values in
150ae15c312SMatt Jacob.Pa /boot/device.hints .
151ae15c312SMatt Jacob.Pp
15292c355d7SRuslan ErmilovThey are:
153ae15c312SMatt Jacob.Bl -tag -width indent
154ae15c312SMatt Jacob.It Va hint.isp.0.disable
155ae15c312SMatt JacobA hint value to disable driver in kernel.
156c6e7a803SChristian S.J. Peron.It Va hint.isp.0.fwload_disable
157ae15c312SMatt JacobA hint value to disable loading of firmware
15881ae4b8dSRuslan Ermilov.Xr ispfw 4 .
159ae15c312SMatt Jacob.It Va hint.isp.0.prefer_memmap
16081ae4b8dSRuslan ErmilovA hint value to use PCI memory space instead of I/O space
1615f4796c0SMatt Jacobaccess for.
162ae15c312SMatt Jacob.It Va hint.isp.0.prefer_iomap
163ae15c312SMatt JacobA hint value to use PCI I/O space instead of Memory space
1645f4796c0SMatt Jacobaccess for.
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
197ae15c312SMatt JacobA hint to define default role for isp instance (target, initiator, both).
198ae15c312SMatt Jacob.It Va hint.isp.0.debug
1994c38f2f8SMatt JacobA hint value for a driver debug level (see the file
2004c38f2f8SMatt Jacob.Pa /usr/src/sys/dev/isp/ispvar.h
2014c38f2f8SMatt Jacobfor the values.
2024c38f2f8SMatt Jacob.El
2034c38f2f8SMatt Jacob.Sh SYSCTL OPTIONS
2044c38f2f8SMatt Jacob.Pp
2054c38f2f8SMatt Jacob.Bl -tag -width indent
2064c38f2f8SMatt Jacob.It Va dev.isp.N.loop_down_limit
2074c38f2f8SMatt JacobThis value says how long to wait in seconds after loop has gone down before
208dbb3ac38SChristian Brueffergiving up and expiring all of the devices that were visible.
209dbb3ac38SChristian BruefferThe default is 300 seconds (5 minutes).
210dbb3ac38SChristian BruefferA seperate (nonadjustable) timeout is used when
2114c38f2f8SMatt Jacobbooting to not stop booting on lack of FC connectivity.
2124c38f2f8SMatt Jacob.It Va dev.isp.N.gone_device_time
2134c38f2f8SMatt JacobThis value says how long to wait for devices to reappear if they (temporarily)
214dbb3ac38SChristian Bruefferdisappear due to loop or fabric events.
215dbb3ac38SChristian BruefferWhile this timeout is running, I/O
2164c38f2f8SMatt Jacobto those devices will simply be held.
2174c38f2f8SMatt Jacob.It Va dev.isp.N.wwnn
2184c38f2f8SMatt JacobThis is the readonly World Wide Node Name value for this port.
2194c38f2f8SMatt Jacob.It Va dev.isp.N.wwpn
2204c38f2f8SMatt JacobThis is the readonly World Wide Port Name value for this port.
221a90b37e0SMatt Jacob.El
2229cbda590SRuslan Ermilov.Sh SEE ALSO
2239cbda590SRuslan Ermilov.Xr da 4 ,
2249cbda590SRuslan Ermilov.Xr intro 4 ,
2259cbda590SRuslan Ermilov.Xr ispfw 4 ,
2269cbda590SRuslan Ermilov.Xr sa 4 ,
2279cbda590SRuslan Ermilov.Xr scsi 4
2289cbda590SRuslan Ermilov.Sh AUTHORS
2299cbda590SRuslan ErmilovThe
2309cbda590SRuslan Ermilov.Nm
2314c38f2f8SMatt Jacobdriver was written by Matthew Jacob originally for NetBSD at
2324c38f2f8SMatt JacobNASA/Ames Research Center.
233a90b37e0SMatt Jacob.Sh BUGS
234a90b37e0SMatt JacobThe driver currently ignores some NVRAM settings.
235a90b37e0SMatt Jacob.Pp
2364c38f2f8SMatt JacobTarget mode support is not completely reliable yet.
23792c355d7SRuslan ErmilovIt works reasonably
2385f4796c0SMatt Jacobwell for Fibre Channel, somewhat well for Qlogic 1040 cards, but
2390227791bSRuslan Ermilovdoes not yet work for the other cards (due to last minute unannounced
2405f4796c0SMatt Jacobchanges in firmware interfaces).
241