update atp870u driver to 0.78 from D-Link source
[linux-2.4.git] / drivers / scsi / cpqfc.Readme
1 Notes for CPQFCTS driver for Compaq Tachyon TS
2 Fibre Channel Host Bus Adapter, PCI 64-bit, 66MHz
3 for Linux (RH 6.1, 6.2 kernel 2.2.12-32, 2.2.14-5)
4 SMP tested
5 Tested in single and dual HBA configuration, 32 and 64bit busses,
6 33 and 66MHz.  Only supports FC-AL.
7 SEST size 512 Exchanges (simultaneous I/Os) limited by module kmalloc() 
8         max of 128k bytes contiguous.
9
10 Ver 2.1.1  Oct 18, 2001
11    * reinitialize Cmnd->SCp.sent_command (used to identify commands as
12      passthrus) on calling scsi_done, since the scsi mid layer does not
13      use (or reinitialize) this field to prevent subsequent comands from
14      having it set incorrectly. 
15
16 Ver 2.1.0  Aug 27, 2001
17    * Revise driver to use new kernel 2.4.x PCI DMA API, instead of 
18      virt_to_bus().  (enables driver to work w/ ia64 systems with >2Gb RAM.)
19      Rework main scatter-gather code to handle cases where SG element
20      lengths are larger than 0x7FFFF bytes and use as many scatter 
21      gather pages as necessary. (Steve Cameron)
22    * Makefile changes to bring cpqfc into line w/ rest of SCSI drivers
23      (thanks to Keith Owens)
24
25 Ver 2.1.2  Jul 22, 2002
26    * initialize DumCmnd.lun (used as LUN index in fcFindLoggedInPort())
27
28 Ver 2.0.5  Aug 06, 2001
29    * Reject non-existent luns in the driver rather than letting the 
30      hardware do it.  (some HW behaves differently than others in this area.)
31    * Changed Makefile to rely on "make dep" instead of explicit dependencies
32    * ifdef'ed out fibre channel analyzer triggering debug code
33    * fixed a jiffies wrapping issue
34
35 Ver 2.0.4  Aug 01, 2001
36    * Incorporated fix for target device reset from Steeleye
37    * Fixed passthrough ioctl so it doesn't hang.
38    * Fixed hang in launch_FCworker_thread() that occurred on some machines.
39    * Avoid problem when number of volumes in a single cabinet > 8
40
41 Ver 2.0.2  July 23, 2001
42    Changed the semiphore changes so the driver would compile in 2.4.7. 
43    This version is for 2.4.7 and beyond. 
44  
45 Ver 2.0.1  May  7, 2001
46    Merged version 1.3.6 fixes into version 2.0.0.   
47
48 Ver 2.0.0  May   7, 2001
49   Fixed problem so spinlock is being initialized to UNLOCKED. 
50   Fixed updated driver so it compiles in the 2.4 tree. 
51  
52  Ver 1.3.6  Feb  27, 2001
53    Added Target_Device_Reset function for SCSI error handling
54    Fixed problem with not reseting addressing mode after implicit logout
55  
56
57 Ver 1.3.4  Sep   7, 2000
58   Added Modinfo information
59   Fixed problem with statically linking the driver
60
61 Ver 1.3.3, Aug  23, 2000
62   Fixed device/function number in ioctl
63
64 Ver 1.3.2, July 27, 2000
65   Add include for Alpha compile on 2.2.14 kernel (cpq*i2c.c)
66   Change logic for different FCP-RSP sense_buffer location for HSG80 target
67   And search for Agilent Tachyon XL2 HBAs (not finished! - in test)
68
69 Tested with 
70 (storage):
71            Compaq RA-4x000, RAID firmware ver 2.40 - 2.54
72            Seagate FC drives model ST39102FC, rev 0006
73            Hitachi DK31CJ-72FC rev J8A8
74            IBM DDYF-T18350R rev F60K
75            Compaq FC-SCSI bridge w/ DLT 35/70 Gb DLT (tape)
76 (servers):
77            Compaq PL-1850R
78            Compaq PL-6500 Xeon (400MHz)
79            Compaq PL-8500 (500MHz, 66MHz, 64bit PCI)
80            Compaq Alpha DS20 (RH 6.1)
81 (hubs):
82            Vixel Rapport 1000 (7-port "dumb")
83            Gadzoox Gibralter (12-port "dumb")
84            Gadzoox Capellix 2000, 3000 
85 (switches):
86            Brocade 2010, 2400, 2800, rev 2.0.3a (& later)
87            Gadzoox 3210 (Fabric blade beta)
88            Vixel 7100 (Fabric beta firmare - known hot plug issues)
89 using "qa_test" (esp. io_test script) suite modified from Unix tests.
90         
91 Installation:
92 copy file cpqfcTS.patch to /usr/src/linux
93 patch -p1 < cpqfcTS.patch
94 make menuconfig
95   (select SCSI low-level, Compaq FC HBA)
96 make dep
97 make modules
98 make modules_install
99
100 e.g. insmod -f cpqfc
101
102 Due to Fabric/switch delays, driver requires 4 seconds 
103 to initialize.  If adapters are found, there will be a entries at
104 /proc/scsi/cpqfcTS/*
105
106 sample contents of startup messages
107
108 *************************
109  scsi_register allocating 3596 bytes for CPQFCHBA
110  ioremap'd Membase: c887e600
111   HBA Tachyon RevId 1.2
112 Allocating 119808 for 576 Exchanges @ c0dc0000
113 Allocating 112904 for LinkQ @ c0c20000 (576 elements)
114 Allocating 110600 for TachSEST for 512 Exchanges
115   cpqfcTS: writing IMQ BASE 7C0000h    PI 7C4000h
116   cpqfcTS: SEST c0e40000(virt): Wrote base E40000h @ c887e740
117 cpqfcTS: New FC port 0000E8h WWN: 500507650642499D SCSI Chan/Trgt 0/0
118 cpqfcTS: New FC port 0000EFh WWN: 50000E100000D5A6 SCSI Chan/Trgt 0/1
119 cpqfcTS: New FC port 0000E4h WWN: 21000020370097BB SCSI Chan/Trgt 0/2
120 cpqfcTS: New FC port 0000E2h WWN: 2100002037009946 SCSI Chan/Trgt 0/3
121 cpqfcTS: New FC port 0000E1h WWN: 21000020370098FE SCSI Chan/Trgt 0/4
122 cpqfcTS: New FC port 0000E0h WWN: 21000020370097B2 SCSI Chan/Trgt 0/5
123 cpqfcTS: New FC port 0000DCh WWN: 2100002037006CC1 SCSI Chan/Trgt 0/6
124 cpqfcTS: New FC port 0000DAh WWN: 21000020370059F6 SCSI Chan/Trgt 0/7
125 cpqfcTS: New FC port 00000Fh WWN: 500805F1FADB0E20 SCSI Chan/Trgt 0/8
126 cpqfcTS: New FC port 000008h WWN: 500805F1FADB0EBA SCSI Chan/Trgt 0/9
127 cpqfcTS: New FC port 000004h WWN: 500805F1FADB1EB9 SCSI Chan/Trgt 0/10
128 cpqfcTS: New FC port 000002h WWN: 500805F1FADB1ADE SCSI Chan/Trgt 0/11
129 cpqfcTS: New FC port 000001h WWN: 500805F1FADBA2CA SCSI Chan/Trgt 0/12
130 scsi4 : Compaq FibreChannel HBA Tachyon TS HPFC-5166A/1.2: WWN 500508B200193F50
131  on PCI bus 0 device 0xa0fc irq 5 IObaseL 0x3400, MEMBASE 0xc6ef8600
132 PCI bus width 32 bits, bus speed 33 MHz
133 FCP-SCSI Driver v1.3.0
134 GBIC detected: Short-wave.  LPSM 0h Monitor
135 scsi : 5 hosts.
136   Vendor: IBM       Model: DDYF-T18350R      Rev: F60K
137   Type:   Direct-Access                      ANSI SCSI revision: 03
138 Detected scsi disk sdb at scsi4, channel 0, id 0, lun 0
139   Vendor: HITACHI   Model: DK31CJ-72FC       Rev: J8A8
140   Type:   Direct-Access                      ANSI SCSI revision: 02
141 Detected scsi disk sdc at scsi4, channel 0, id 1, lun 0
142   Vendor: SEAGATE   Model: ST39102FC         Rev: 0006
143   Type:   Direct-Access                      ANSI SCSI revision: 02
144 Detected scsi disk sdd at scsi4, channel 0, id 2, lun 0
145   Vendor: SEAGATE   Model: ST39102FC         Rev: 0006
146   Type:   Direct-Access                      ANSI SCSI revision: 02
147 Detected scsi disk sde at scsi4, channel 0, id 3, lun 0
148   Vendor: SEAGATE   Model: ST39102FC         Rev: 0006
149   Type:   Direct-Access                      ANSI SCSI revision: 02
150 Detected scsi disk sdf at scsi4, channel 0, id 4, lun 0
151   Vendor: SEAGATE   Model: ST39102FC         Rev: 0006
152   Type:   Direct-Access                      ANSI SCSI revision: 02
153 Detected scsi disk sdg at scsi4, channel 0, id 5, lun 0
154   Vendor: SEAGATE   Model: ST39102FC         Rev: 0006
155   Type:   Direct-Access                      ANSI SCSI revision: 02
156 Detected scsi disk sdh at scsi4, channel 0, id 6, lun 0
157   Vendor: SEAGATE   Model: ST39102FC         Rev: 0006
158   Type:   Direct-Access                      ANSI SCSI revision: 02
159 Detected scsi disk sdi at scsi4, channel 0, id 7, lun 0
160   Vendor: COMPAQ    Model: LOGICAL VOLUME    Rev: 2.48
161   Type:   Direct-Access                      ANSI SCSI revision: 02
162 Detected scsi disk sdj at scsi4, channel 0, id 8, lun 0
163   Vendor: COMPAQ    Model: LOGICAL VOLUME    Rev: 2.48
164   Type:   Direct-Access                      ANSI SCSI revision: 02
165 Detected scsi disk sdk at scsi4, channel 0, id 8, lun 1
166   Vendor: COMPAQ    Model: LOGICAL VOLUME    Rev: 2.40
167   Type:   Direct-Access                      ANSI SCSI revision: 02
168 Detected scsi disk sdl at scsi4, channel 0, id 9, lun 0
169   Vendor: COMPAQ    Model: LOGICAL VOLUME    Rev: 2.40
170   Type:   Direct-Access                      ANSI SCSI revision: 02
171 Detected scsi disk sdm at scsi4, channel 0, id 9, lun 1
172   Vendor: COMPAQ    Model: LOGICAL VOLUME    Rev: 2.54
173   Type:   Direct-Access                      ANSI SCSI revision: 02
174 Detected scsi disk sdn at scsi4, channel 0, id 10, lun 0
175   Vendor: COMPAQ    Model: LOGICAL VOLUME    Rev: 2.54
176   Type:   Direct-Access                      ANSI SCSI revision: 02
177 Detected scsi disk sdo at scsi4, channel 0, id 11, lun 0
178   Vendor: COMPAQ    Model: LOGICAL VOLUME    Rev: 2.54
179   Type:   Direct-Access                      ANSI SCSI revision: 02
180 Detected scsi disk sdp at scsi4, channel 0, id 11, lun 1
181   Vendor: COMPAQ    Model: LOGICAL VOLUME    Rev: 2.54
182   Type:   Direct-Access                      ANSI SCSI revision: 02
183 Detected scsi disk sdq at scsi4, channel 0, id 12, lun 0
184   Vendor: COMPAQ    Model: LOGICAL VOLUME    Rev: 2.54
185   Type:   Direct-Access                      ANSI SCSI revision: 02
186 Detected scsi disk sdr at scsi4, channel 0, id 12, lun 1
187 resize_dma_pool: unknown device type 12
188 resize_dma_pool: unknown device type 12
189 SCSI device sdb: hdwr sector= 512 bytes. Sectors= 35843670 [17501 MB] [17.5 GB]
190  sdb: sdb1
191 SCSI device sdc: hdwr sector= 512 bytes. Sectors= 144410880 [70513 MB] [70.5 GB]
192  sdc: sdc1
193 SCSI device sdd: hdwr sector= 512 bytes. Sectors= 17783240 [8683 MB] [8.7 GB]
194  sdd: sdd1
195 SCSI device sde: hdwr sector= 512 bytes. Sectors= 17783240 [8683 MB] [8.7 GB]
196  sde: sde1
197 SCSI device sdf: hdwr sector= 512 bytes. Sectors= 17783240 [8683 MB] [8.7 GB]
198  sdf: sdf1
199 SCSI device sdg: hdwr sector= 512 bytes. Sectors= 17783240 [8683 MB] [8.7 GB]
200  sdg: sdg1
201 SCSI device sdh: hdwr sector= 512 bytes. Sectors= 17783240 [8683 MB] [8.7 GB]
202  sdh: sdh1
203 SCSI device sdi: hdwr sector= 512 bytes. Sectors= 17783240 [8683 MB] [8.7 GB]
204  sdi: sdi1
205 SCSI device sdj: hdwr sector= 512 bytes. Sectors= 2056160 [1003 MB] [1.0 GB]
206  sdj: sdj1
207 SCSI device sdk: hdwr sector= 512 bytes. Sectors= 2052736 [1002 MB] [1.0 GB]
208  sdk: sdk1
209 SCSI device sdl: hdwr sector= 512 bytes. Sectors= 17764320 [8673 MB] [8.7 GB]
210  sdl: sdl1
211 SCSI device sdm: hdwr sector= 512 bytes. Sectors= 8380320 [4091 MB] [4.1 GB]
212  sdm: sdm1
213 SCSI device sdn: hdwr sector= 512 bytes. Sectors= 17764320 [8673 MB] [8.7 GB]
214  sdn: sdn1
215 SCSI device sdo: hdwr sector= 512 bytes. Sectors= 17764320 [8673 MB] [8.7 GB]
216  sdo: sdo1
217 SCSI device sdp: hdwr sector= 512 bytes. Sectors= 17764320 [8673 MB] [8.7 GB]
218  sdp: sdp1
219 SCSI device sdq: hdwr sector= 512 bytes. Sectors= 2056160 [1003 MB] [1.0 GB]
220  sdq: sdq1
221 SCSI device sdr: hdwr sector= 512 bytes. Sectors= 2052736 [1002 MB] [1.0 GB]
222  sdr: sdr1
223
224 *************************
225
226 If a GBIC of type Short-wave, Long-wave, or Copper is detected, it will
227 print out; otherwise, "none" is displayed.  If the cabling is correct
228 and a loop circuit is completed, you should see "Monitor"; otherwise, 
229 "LoopFail" (on open circuit) or some LPSM number/state with bit 3 set.
230
231
232 ERRATA:
233 1. Normally, Linux Scsi queries FC devices with INQUIRY strings.  All LUNs
234 found according to INQUIRY should get READ commands at sector 0 to find
235 partition table, etc.  Older kernels only query the first 4 devices.  Some
236 Linux kernels only look for one LUN per target (i.e. FC device).
237
238 2. Physically removing a device, or a malfunctioning system which hides a
239 device, leads to a 30-second timeout and subsequent _abort call.  
240 In some process contexts, this will hang the kernel (crashing the system).
241 Single bit errors in frames and virtually all hot plugging events are 
242 gracefully handled with internal driver timer and Abort processing.
243
244 3. Some SCSI drives with error conditions will not handle the 7 second timeout
245 in this software driver, leading to infinite retries on timed out SCSI commands.
246 The 7 secs balances the need to quickly recover from lost frames (esp. on sequence
247 initiatives) and time needed by older/slower/error-state drives in responding.
248 This can be easily changed in "Exchanges[].timeOut".
249
250 4. Due to the nature of FC soft addressing, there is no assurance that the 
251 same LUNs (drives) will have the same path (e.g. /dev/sdb1) from one boot to
252 next.  Dynamic soft address changes (i.e. 24-bit FC port_id) are
253 supported during run time (e.g. due to hot plug event) by the use of WWN to
254 SCSI Nexus (channel/target/LUN) mapping.
255
256 5. Compaq RA4x00 firmware version 2.54 and later supports SSP (Selective 
257 Storage Presentation), which maps LUNs to a WWN.  If RA4x00 firmware prior
258 2.54 (e.g. older controller) is used, or the FC HBA is replaced (another WWN
259 is used), logical volumes on the RA4x00 will no longer be visible.
260
261
262 Send questions/comments to:
263 Amy Vanzant-Hodge (fibrechannel@compaq.com)
264