xref: /freebsd/share/man/man4/isp.4 (revision 2d431ba6183bf2cd27e446f1d12a13c0d9181fa2)
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.\"
32ae15c312SMatt Jacob.Dd February 6, 2006
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).
7292c355d7SRuslan ErmilovThe newer 2-Gigabit cards (2300, 2312) are also supported.
737034ded9SMatt JacobCommand tagging is
745f4796c0SMatt Jacobsupported for all (in fact,
75a90b37e0SMatt Jacob.Tn FibreChannel
7692c355d7SRuslan Ermilovrequires tagging).
7792c355d7SRuslan ErmilovFabric support is enabled by default (but may
785f4796c0SMatt Jacobbe contingent upon the correct firmware being loaded).
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
84b128a303SMatt JacobIt is very strongly recommended that you use the firmware available
85b128a303SMatt Jacobfrom
86b128a303SMatt Jacob.Xr ispfw 4
87b128a303SMatt Jacobas it is the most likely to have been tested with this driver.
88a90b37e0SMatt Jacob.Sh HARDWARE
89f0d219daSSimon L. B. NielsenCards supported by the
90f0d219daSSimon L. B. Nielsen.Nm
91f0d219daSSimon L. B. Nielsendriver include:
92a90b37e0SMatt Jacob.Pp
93a90b37e0SMatt Jacob.Bl -tag -width xxxxxx -offset indent
94a90b37e0SMatt Jacob.It ISP1000
955f4796c0SMatt JacobSBus Fast Wide, Ultra Fast Wide cards, Single Ended or Differential
965f4796c0SMatt Jacobcards.
97a90b37e0SMatt Jacob.It ISP1020
98a90b37e0SMatt JacobQlogic 1020 Fast Wide and Differential Fast Wide PCI cards.
99a90b37e0SMatt Jacob.It ISP1040
100a90b37e0SMatt JacobQlogic 1040 Ultra Wide and Differential Ultra Wide PCI cards.
101182c9e7eSDavid E. O'BrienAlso known as the DEC KZPBA-CA (single ended) and KZPBA-CB (HVD differential).
102a90b37e0SMatt Jacob.It Qlogic 1240
1035f4796c0SMatt JacobQlogic 1240 Dual Bus Ultra Wide and Differential Ultra Wide PCI
1045f4796c0SMatt Jacobcards.
105bfb86d9fSBruce A. Mah.It Qlogic 1020
106bfb86d9fSBruce A. MahQlogic 1020 SCSI cards.
107bfb86d9fSBruce A. Mah.It Qlogic 1040
108bfb86d9fSBruce A. MahQlogic 1040 Ultra SCSI cards.
109a90b37e0SMatt Jacob.It Qlogic 1080
110a90b37e0SMatt JacobQlogic 1280 LVD Ultra2 Wide PCI cards.
111a90b37e0SMatt Jacob.It Qlogic 1280
112a90b37e0SMatt JacobQlogic 1280 Dual Bus LVD Ultra2 Wide PCI cards.
113a90b37e0SMatt Jacob.It Qlogic 12160
114a90b37e0SMatt JacobQlogic 12160 Dual Bus LVD Ultra3 Wide PCI cards.
115ae15c312SMatt Jacob.It Qlogic 210X
1165f4796c0SMatt JacobQlogic 2100 and 2100A Copper and Optical Fibre Channel Arbitrated
117ae15c312SMatt JacobLoop (single, dual).
118ae15c312SMatt Jacob.It Qlogic 220X
1195f4796c0SMatt JacobQlogic 2200 Copper and Optical Fibre Channel Arbitrated Loop PCI
120ae15c312SMatt Jacobcards (single, dual, quad).
1217034ded9SMatt Jacob.It Qlogic 2300
1227034ded9SMatt JacobQlogic 2300 Optical Fibre Channel PCI cards.
1237034ded9SMatt Jacob.It Qlogic 2312
1247034ded9SMatt JacobQlogic 2312 Optical Fibre Channel PCI cards.
125ae15c312SMatt Jacob.It Qlogic 234X
126ae15c312SMatt JacobQlogic 234X Optical Fibre Channel PCI cards (2312 chipset, single and dual attach).
127ae15c312SMatt Jacob.It Qlogic 2322
128ae15c312SMatt JacobQlogic 2322 Optical Fibre Channel PCI cards.
129ae15c312SMatt Jacob.It Qlogic 200
130ae15c312SMatt JacobDell Branded version of the QLogic 2312 Fibre Channel PCI cards.
131a90b37e0SMatt Jacob.El
132a90b37e0SMatt Jacob.Sh CONFIGURATION OPTIONS
133a90b37e0SMatt Jacob.Pp
1345f4796c0SMatt JacobTarget mode support may be enabled with the
135726b61abSRuslan Ermilov.Pp
136a90b37e0SMatt Jacob.Cd options ISP_TARGET_MODE
137726b61abSRuslan Ermilov.Pp
138a90b37e0SMatt Jacoboption.
139a90b37e0SMatt Jacob.Sh BOOT OPTIONS
140ae15c312SMatt JacobThe following options are switchable by setting values in
141ae15c312SMatt Jacob.Pa /boot/device.hints .
142ae15c312SMatt Jacob.Pp
14392c355d7SRuslan ErmilovThey are:
144726b61abSRuslan Ermilov.Pp
145ae15c312SMatt Jacob.Bl -tag -width indent
146ae15c312SMatt Jacob.It Va hint.isp.0.disable
147ae15c312SMatt JacobA hint value to disable driver in kernel.
148c6e7a803SChristian S.J. Peron.It Va hint.isp.0.fwload_disable
149ae15c312SMatt JacobA hint value to disable loading of firmware
150ae15c312SMatt Jacob.Cd ispfw(4) .
151ae15c312SMatt Jacob.It Va hint.isp.0.prefer_memmap
152ae15c312SMatt JacobA hint value to use PCI Memory space instead of I/O space
1535f4796c0SMatt Jacobaccess for.
154ae15c312SMatt Jacob.It Va hint.isp.0.prefer_iomap
155ae15c312SMatt JacobA hint value to use PCI I/O space instead of Memory space
1565f4796c0SMatt Jacobaccess for.
157ae15c312SMatt Jacob.It Va hint.isp.0.ignore_nvram
158ae15c312SMatt JacobA hint value to ignore board NVRAM settings for. Otherwise
159ae15c312SMatt Jacobuse NVRAM settings.
160ae15c312SMatt Jacob.It Va hint.isp.0.fullduplex
161ae15c312SMatt JacobA hint value to set full duplex mode.
162ae15c312SMatt Jacob.It Va hint.isp.0.topology
163ae15c312SMatt JacobA hint value to select topology of connection. Supported
164ae15c312SMatt Jacobvalues are:
165ae15c312SMatt Jacob.Pp
166ae15c312SMatt Jacob.Cd lport
167ae15c312SMatt Jacob(Prefer loopback and fallback to point to point).
168ae15c312SMatt Jacob.Pp
169ae15c312SMatt Jacob.Cd nport
170ae15c312SMatt Jacob(Prefer point to point and fallback to loopback).
171ae15c312SMatt Jacob.Pp
172ae15c312SMatt Jacob.Cd lport-only
173ae15c312SMatt Jacob(Loopback only).
174ae15c312SMatt Jacob.Pp
175ae15c312SMatt Jacob.Cd nport-only
176ae15c312SMatt Jacob(Point to point only).
177ae15c312SMatt Jacob.Pp
178ae15c312SMatt Jacob.It Va hint.isp.0.portwwn
179ae15c312SMatt JacobThis should be the full 64 bit World Wide Port Name you would like
180ae15c312SMatt Jacobto use, overriding the value in NVRAM for the card.
181ae15c312SMatt Jacob.It Va hint.isp.0.nodewwn
1825f4796c0SMatt JacobThis should be the full 64 bit World Wide Node Name you would like
1835f4796c0SMatt Jacobto use, overriding the value in NVRAM for the card.
184ae15c312SMatt Jacob.It Va hint.isp.0.iid
185ae15c312SMatt JacobA hint to override or set the Initiator ID (principally for SPI SCSI).
186ae15c312SMatt Jacob.It Va hint.isp.0.role
187ae15c312SMatt JacobA hint to define default role for isp instance (target, initiator, both).
188ae15c312SMatt Jacob.It Va hint.isp.0.debug
189ae15c312SMatt JacobA hint value for a driver debug level (values from 0 through 7).
190ae15c312SMatt JacobDefault is 0.
191a90b37e0SMatt Jacob.El
1929cbda590SRuslan Ermilov.Sh SEE ALSO
1939cbda590SRuslan Ermilov.Xr da 4 ,
1949cbda590SRuslan Ermilov.Xr intro 4 ,
1959cbda590SRuslan Ermilov.Xr ispfw 4 ,
1969cbda590SRuslan Ermilov.Xr sa 4 ,
1979cbda590SRuslan Ermilov.Xr scsi 4
1989cbda590SRuslan Ermilov.Sh AUTHORS
1999cbda590SRuslan ErmilovThe
2009cbda590SRuslan Ermilov.Nm
2019cbda590SRuslan Ermilovdriver was written by Matthew Jacob for NASA/Ames Research Center.
202a90b37e0SMatt Jacob.Sh BUGS
203a90b37e0SMatt JacobThe driver currently ignores some NVRAM settings.
204a90b37e0SMatt Jacob.Pp
2050227791bSRuslan ErmilovThe driver currently does not do error recovery for timed out commands
206a90b37e0SMatt Jacobvery gracefully.
207a90b37e0SMatt Jacob.Pp
2080227791bSRuslan ErmilovTarget mode support is not completely debugged yet.
20992c355d7SRuslan ErmilovIt works reasonably
2105f4796c0SMatt Jacobwell for Fibre Channel, somewhat well for Qlogic 1040 cards, but
2110227791bSRuslan Ermilovdoes not yet work for the other cards (due to last minute unannounced
2125f4796c0SMatt Jacobchanges in firmware interfaces).
213a90b37e0SMatt Jacob.Pp
2145f4796c0SMatt JacobSometimes, when booting, the driver gets stuck waiting for the
2155f4796c0SMatt JacobFibre Channel f/w to tell it that the loop port database is ready,
2165f4796c0SMatt Jacobor waiting for a good loop to be seen (this does not yet support
21792c355d7SRuslan Ermilovbooting without being connected to a fibre channel device).
21892c355d7SRuslan ErmilovTo
2195f4796c0SMatt Jacobunwedge the system, unplug and replug the fibre channel connection,
2205f4796c0SMatt Jacobor otherwise cause a LIP (Loop Initialization Primitive sequence)-
2215f4796c0SMatt Jacobthis will kick the f/w into getting unstuck.
222ae15c312SMatt Jacob.Pp
223ae15c312SMatt JacobQLogic 2322 support is limited to platforms where the BIOS can
224ae15c312SMatt Jacobenable firmware as there is no code yet to do the 3 stage loading
225ae15c312SMatt Jacobfor 2322 firmware.
226