1a90b37e0SMatt Jacob.\" $FreeBSD$ 2a90b37e0SMatt Jacob.\" $NetBSD: isp.4,v 1.5 1999/12/18 18:33:05 mjacob Exp $ 3a90b37e0SMatt Jacob.\" 4a90b37e0SMatt Jacob.\" Copyright (c) 1998, 1999 5a90b37e0SMatt Jacob.\" Matthew Jacob, for NASA/Ames Research Center 6a90b37e0SMatt Jacob.\" 7a90b37e0SMatt Jacob.\" Redistribution and use in source and binary forms, with or without 8a90b37e0SMatt Jacob.\" modification, are permitted provided that the following conditions 9a90b37e0SMatt Jacob.\" are met: 10a90b37e0SMatt Jacob.\" 1. Redistributions of source code must retain the above copyright 11a90b37e0SMatt Jacob.\" notice, this list of conditions and the following disclaimer. 12a90b37e0SMatt Jacob.\" 2. Redistributions in binary form must reproduce the above copyright 13a90b37e0SMatt Jacob.\" notice, this list of conditions and the following disclaimer in the 14a90b37e0SMatt Jacob.\" documentation and/or other materials provided with the distribution. 15a90b37e0SMatt Jacob.\" 3. The name of the author may not be used to endorse or promote products 16a90b37e0SMatt Jacob.\" derived from this software withough specific prior written permission. 17a90b37e0SMatt Jacob.\" 18a90b37e0SMatt Jacob.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 19a90b37e0SMatt Jacob.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 20a90b37e0SMatt Jacob.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 21a90b37e0SMatt Jacob.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 22a90b37e0SMatt Jacob.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 23a90b37e0SMatt Jacob.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24a90b37e0SMatt Jacob.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25a90b37e0SMatt Jacob.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26a90b37e0SMatt Jacob.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 27a90b37e0SMatt Jacob.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28a90b37e0SMatt Jacob.\" 29a90b37e0SMatt Jacob.\" 30a90b37e0SMatt Jacob.Dd Feburary 14, 2000 31a90b37e0SMatt Jacob.Dt ISP 4 32a90b37e0SMatt Jacob.Os 33a90b37e0SMatt Jacob.Sh NAME 34a90b37e0SMatt Jacob.Nm isp 35a90b37e0SMatt Jacob.Nd Qlogic based SCSI and FibreChannel SCSI Host Adapters 36a90b37e0SMatt Jacob.Sh SYNOPSIS 37a90b37e0SMatt Jacob.Cd "device isp" 38a90b37e0SMatt Jacob.Pp 39a90b37e0SMatt JacobFor one or more SCSI busses: 40a90b37e0SMatt Jacob.Cd device scbus0 41a90b37e0SMatt Jacob.Sh DESCRIPTION 42a90b37e0SMatt JacobThis driver provides access to 43a90b37e0SMatt Jacob.Tn SCSI 44a90b37e0SMatt Jacobor 45a90b37e0SMatt Jacob.Tn FibreChannel 46a90b37e0SMatt Jacobdevices. 47a90b37e0SMatt Jacob.Pp 48a90b37e0SMatt JacobSCSI features include support for Ultra SCSI and wide mode transactions for 49a90b37e0SMatt Jacob.Tn SCSI , 50a90b37e0SMatt JacobUltra2 LVD (for the ISP1080 and ISP1280), and Ultra3 LVD (for the ISP12160). 51a90b37e0SMatt Jacob.Pp 52a90b37e0SMatt JacobFibre Channel support uses FCP SCSI profile for 53a90b37e0SMatt Jacob.Tn FibreChannel . 54a90b37e0SMatt Jacoband utilizes Class 3 and Class 2 connections (Qlogic 2100 is Class 3 55a90b37e0SMatt Jacobonly, minor patches to the Qlogic 2200 to force Class 2 mode). 56a90b37e0SMatt JacobSupport is available for Public 57a90b37e0SMatt Jacoband Private loops, and for point-to-point connections (Qlogic 2200 58a90b37e0SMatt Jacobonly). 59a90b37e0SMatt JacobCommand tagging is supported for all (in fact, 60a90b37e0SMatt Jacob.Tn FibreChannel 61a90b37e0SMatt Jacobrequires tagging). 62a90b37e0SMatt Jacob.Sh HARDWARE 63a90b37e0SMatt JacobSupported cards include: 64a90b37e0SMatt Jacob.Pp 65a90b37e0SMatt Jacob.Bl -tag -width xxxxxx -offset indent 66a90b37e0SMatt Jacob.It ISP1000 67a90b37e0SMatt JacobSBus Fast Wide, Ultra Fast Wide cards, Single Ended or Differential cards. 68a90b37e0SMatt Jacob.It PTI SBS440 69a90b37e0SMatt JacobPerfomance Technology ISP1000 variants. 70a90b37e0SMatt Jacob.It ISP1020 71a90b37e0SMatt JacobQlogic 1020 Fast Wide and Differential Fast Wide PCI cards. 72a90b37e0SMatt Jacob.It ISP1040 73a90b37e0SMatt JacobQlogic 1040 Ultra Wide and Differential Ultra Wide PCI cards. 74a90b37e0SMatt Jacob.It PTI SBS450 75a90b37e0SMatt JacobPerfomance Technology ISP1040 variants. 76a90b37e0SMatt Jacob.It Qlogic 1240 77a90b37e0SMatt JacobQlogic 1240 Dual Bus Ultra Wide and Differential Ultra Wide PCI cards. 78a90b37e0SMatt Jacob.It Qlogic 1080 79a90b37e0SMatt JacobQlogic 1280 LVD Ultra2 Wide PCI cards. 80a90b37e0SMatt Jacob.It Qlogic 1280 81a90b37e0SMatt JacobQlogic 1280 Dual Bus LVD Ultra2 Wide PCI cards. 82a90b37e0SMatt Jacob.It Qlogic 12160 83a90b37e0SMatt JacobQlogic 12160 Dual Bus LVD Ultra3 Wide PCI cards. 84a90b37e0SMatt Jacob.It Qlogic 2100 85a90b37e0SMatt JacobQlogic 2100 and 2100A Copper and Optical Fibre Channel Arbitrated Loop 86a90b37e0SMatt Jacob.It Qlogic 2102 87a90b37e0SMatt JacobQlogic Dual Loop 2100A Optical Fibre Channel Arbitrated Loop PCI cards. 88a90b37e0SMatt Jacob.It Qlogic 2200 89a90b37e0SMatt JacobQlogic 2200 Copper and Optical Fibre Channel Arbitrated Loop PCI cards. 90a90b37e0SMatt Jacob.It Qlogic 2202 91a90b37e0SMatt JacobQlogic 2200 Dual Bus Optical Fibre Channel Arbitrated Loop PCI cards. 92a90b37e0SMatt Jacob.It PTI SBS470 93a90b37e0SMatt JacobPerfomance Technology ISP2100 variants. 94a90b37e0SMatt Jacob.It Antares P-0033 95a90b37e0SMatt JacobAntares Microsystems ISP2100 variants. 96a90b37e0SMatt Jacob.El 97a90b37e0SMatt Jacob.Sh CONFIGURATION OPTIONS 98a90b37e0SMatt Jacob.Pp 99a90b37e0SMatt JacobGeneral configuration options for all adapters include: 100a90b37e0SMatt Jacob.sp 101a90b37e0SMatt Jacob.Cd options SCSI_ISP_NO_FWLOAD_MASK 102a90b37e0SMatt Jacob.Cd options SCSI_ISP_NO_NVRAM_MASK 103a90b37e0SMatt Jacob.Cd options SCSI_ISP_PREFER_MEM_MAP 104a90b37e0SMatt Jacob.sp 105a90b37e0SMatt Jacobfor which the option value is a bit mask of units for which you want this 106a90b37e0SMatt Jacoboption to apply. The options are, respectively, for not loading new firmware 107a90b37e0SMatt Jacobat startup, ignoring card NVRAM settings, and preferring memory mapped 108a90b37e0SMatt Jacobversus I/O port PCI access methods. 109a90b37e0SMatt Jacob.Pp 110a90b37e0SMatt JacobPoorly debugged and prototype target mode support may be enabled with the 111a90b37e0SMatt Jacob.sp 112a90b37e0SMatt Jacob.Cd options ISP_TARGET_MODE 113a90b37e0SMatt Jacob.sp 114a90b37e0SMatt Jacoboption. 115a90b37e0SMatt Jacob.Pp 116a90b37e0SMatt JacobConfiguration options that define whether downloadable firmware should be 117a90b37e0SMatt Jacobcompiled into the driver are: 118a90b37e0SMatt Jacob.sp 119a90b37e0SMatt Jacob.Cd options ISP_COMPILE_1020_FW 120a90b37e0SMatt Jacob.Cd options ISP_COMPILE_1080_FW 121a90b37e0SMatt Jacob.Cd options ISP_COMPILE_12160_FW 122a90b37e0SMatt Jacob.Cd options ISP_COMPILE_2100_FW 123a90b37e0SMatt Jacob.Cd options ISP_COMPILE_FW 124a90b37e0SMatt Jacob.sp 125a90b37e0SMatt JacobThe above options either select which board's f/w you wish to compile in, 126a90b37e0SMatt Jacobor for the last, to select all. 127a90b37e0SMatt Jacob.Pp 128a90b37e0SMatt JacobConfiguration options specific to Fibre Channel Cards are: 129a90b37e0SMatt Jacob.sp 130a90b37e0SMatt Jacob.Cd options SCSI_ISP_FCDUPLEX 131a90b37e0SMatt Jacob.Cd options SCSI_ISP_FABRIC 132a90b37e0SMatt Jacob.Cd options SCSI_ISP_SCCLUN 133a90b37e0SMatt Jacob.Cd options SCSI_ISP_WWN 134a90b37e0SMatt Jacob.sp 135a90b37e0SMatt JacobThe first option is a bit mask of units for which you want to enable full 136a90b37e0SMatt Jacobduplex mode. This typically would only make sense if fabric support is 137a90b37e0SMatt Jacobenabled and you are directly connected to a switch. 138a90b37e0SMatt JacobThe second defines whether Fibre Channel Fabric support should be enabled. 139a90b37e0SMatt JacobThe third defines whether whether the first level SCC lun support should 140a90b37e0SMatt Jacobbe enabled- this converts the normal 16 Logical Unit support to support for 141a90b37e0SMatt Jacob65536 Logical Units. The last option should be a string that defines an 142a90b37e0SMatt Jacoboverriding World Wide Node Name (WWNN) should you wish to override NVRAM 143a90b37e0SMatt Jacobsettings. It is recommended that you compile in firmware if you select 144a90b37e0SMatt Jacobany of these options. 145a90b37e0SMatt Jacob.Sh BOOT OPTIONS 146a90b37e0SMatt Jacob.Pp 147a90b37e0SMatt JacobMany of the above options are switchable by setting values in the loader 148a90b37e0SMatt Jacobconfiguration file (see the 149a90b37e0SMatt Jacob.Xr loader 8 150a90b37e0SMatt Jacobmanual page). They are: 151a90b37e0SMatt Jacob.sp 152a90b37e0SMatt Jacob.Bl -tag -width "isp_no_fwload" -compact 153a90b37e0SMatt Jacob.It isp_disable 154a90b37e0SMatt JacobA bit mask of units to skip configuration for. 155a90b37e0SMatt Jacob.It isp_mem_map 156a90b37e0SMatt JacobA bit mask of units to use PCI Memory space instead of I/O 157a90b37e0SMatt Jacobspace access for. 158a90b37e0SMatt Jacob.It isp_io_map 159a90b37e0SMatt JacobA bit mask of units to use PCI I/O space instead of Memory 160a90b37e0SMatt Jacobspace access for. 161a90b37e0SMatt Jacob.It isp_no_fwload 162a90b37e0SMatt JacobA bit mask of units that you wish to skip firmware download for. 163a90b37e0SMatt Jacob.It isp_fwload 164a90b37e0SMatt JacobA bit mask of units that you wish to *do* firmware download for. 165a90b37e0SMatt Jacob.It isp_no_nvram 166a90b37e0SMatt JacobA bit mask of units that you wish to ignore board NVRAM settings for. 167a90b37e0SMatt Jacob.It isp_nvram 168a90b37e0SMatt JacobA bit mask of units that you wish to specifically use board NVRAM settings for. 169a90b37e0SMatt Jacob.It isp_fcduplex 170a90b37e0SMatt JacobA bit mask of units that you wish to specifically to set into full 171a90b37e0SMatt Jacobduplex mode. 172a90b37e0SMatt Jacob.It isp_no_fcduplex 173a90b37e0SMatt JacobA bit mask of units that you wish to specifically to not set into full 174a90b37e0SMatt Jacobduplex mode. 175a90b37e0SMatt Jacob.It isp_wwn 176a90b37e0SMatt JacobThis should be the full 64 bit World Wide Node Name you would like to 177a90b37e0SMatt Jacobuse, overriding the value in NVRAM for the card. 178a90b37e0SMatt Jacob.It isp_debug 179a90b37e0SMatt JacobThis is a driver debug level- meaningful from 0 through 7. 180a90b37e0SMatt Jacob.It isp_tdebug 181a90b37e0SMatt JacobThis is a driver target mode debug level- meaningful from 0 through 5. 182a90b37e0SMatt Jacob.El 183a90b37e0SMatt Jacob.Sh BUGS 184a90b37e0SMatt JacobThe driver currently ignores some NVRAM settings. 185a90b37e0SMatt Jacob.Pp 186a90b37e0SMatt JacobThe driver currently doesn't do error recovery for timed out commands 187a90b37e0SMatt Jacobvery gracefully. 188a90b37e0SMatt Jacob.Pp 189a90b37e0SMatt JacobFabric support isn't very well debugged yet, and with some switches, 190a90b37e0SMatt Jacobfails to work as well as it should because the driver uses the GET ALL NEXT 191a90b37e0SMatt JacobSimple Name Server subcommand which some switches don't handle as well 192a90b37e0SMatt Jacobas they should. 193a90b37e0SMatt Jacob.Pp 194a90b37e0SMatt JacobSometimes, when booting, the driver gets stuck waiting for the Fibre Channel 195a90b37e0SMatt Jacobf/w to tell it that the loop port database is ready. In this case you'll 196a90b37e0SMatt Jacobsee an announcement that the loop state has a value of 0x1. To unwedge 197a90b37e0SMatt Jacobthe system, unplug and replug the fibre channel connection, or otherwise 198a90b37e0SMatt Jacobcause a LIP (Loop Initialization Primitive sequence)- this will kick the f/w 199a90b37e0SMatt Jacobinto getting unstuck. 200a90b37e0SMatt Jacob.Sh SEE ALSO 201a90b37e0SMatt Jacob.Xr intro 4 , 202a90b37e0SMatt Jacob.Xr scsi 4 , 203a90b37e0SMatt Jacob.Xr da 4 , 204a90b37e0SMatt Jacob.Xr sa 4 205a90b37e0SMatt Jacob.Sh AUTHOR 206a90b37e0SMatt JacobThe 207a90b37e0SMatt Jacob.Nm 208a90b37e0SMatt Jacobdriver was written by Matthew Jacob for NASA/Ames Research Center. 209