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