1 ====================================================================
2 = Adaptec Ultra320 Family Manager Set v1.3.11 =
5 = The Linux Operating System =
6 ====================================================================
8 The following information is available in this file:
12 3. Command Line Options
19 The following Adaptec SCSI Host Adapters are supported by this
22 Ultra320 ASIC Description
23 ----------------------------------------------------------------
24 AIC-7901A Single Channel 64-bit PCI-X 133MHz to
26 AIC-7901B Single Channel 64-bit PCI-X 133MHz to
27 Ultra320 SCSI ASIC with Retained Training
28 AIC-7902A4 Dual Channel 64-bit PCI-X 133MHz to
30 AIC-7902B Dual Channel 64-bit PCI-X 133MHz to
31 Ultra320 SCSI ASIC with Retained Training
33 Ultra320 Adapters Description ASIC
34 --------------------------------------------------------------------------
35 Adaptec SCSI Card 39320 Dual Channel 64-bit PCI-X 133MHz to 7902A4/7902B
36 Ultra320 SCSI Card (one external
37 68-pin, two internal 68-pin)
38 Adaptec SCSI Card 39320A Dual Channel 64-bit PCI-X 133MHz to 7902B
39 Ultra320 SCSI Card (one external
40 68-pin, two internal 68-pin)
41 Adaptec SCSI Card 39320D Dual Channel 64-bit PCI-X 133MHz to 7902A4
42 Ultra320 SCSI Card (two external VHDC
43 and one internal 68-pin)
44 Adaptec SCSI Card 39320D Dual Channel 64-bit PCI-X 133MHz to 7902A4
45 Ultra320 SCSI Card (two external VHDC
46 and one internal 68-pin) based on the
48 Adaptec SCSI Card 29320 Single Channel 64-bit PCI-X 133MHz to 7901A
49 Ultra320 SCSI Card (one external
50 68-pin, two internal 68-pin, one
52 Adaptec SCSI Card 29320A Single Channel 64-bit PCI-X 133MHz to 7901B
53 Ultra320 SCSI Card (one external
54 68-pin, two internal 68-pin, one
56 Adaptec SCSI Card 29320LP Single Channel 64-bit Low Profile 7901A
57 PCI-X 133MHz to Ultra320 SCSI Card
58 (One external VHDC, one internal
60 Adaptec SCSI Card 29320ALP Single Channel 64-bit Low Profile 7901B
61 PCI-X 133MHz to Ultra320 SCSI Card
62 (One external VHDC, one internal
66 1.3.11 (July 11, 2003)
67 - Fix several deadlock issues.
68 - Add 29320ALP and 39320B Id's.
70 1.3.10 (June 3rd, 2003)
71 - Align the SCB_TAG field on a 16byte boundary. This avoids
72 SCB corruption on some PCI-33 busses.
73 - Correct non-zero luns on Rev B. hardware.
74 - Update for change in 2.5.X SCSI proc FS interface.
75 - When negotiation async via an 8bit WDTR message, send
76 an SDTR with an offset of 0 to be sure the target
77 knows we are async. This works around a firmware defect
78 in the Quantum Atlas 10K.
79 - Implement controller susupend and resume.
80 - Clear PCI error state during driver attach so that we
81 don't disable memory mapped I/O due to a stray write
82 by some other driver probe that occurred before we
83 claimed the controller.
85 1.3.9 (May 22nd, 2003)
86 - Fix compiler errors.
87 - Remove S/G splitting for segments that cross a 4GB boundary.
88 This is guaranteed not to happen in Linux.
89 - Add support for scsi_report_device_reset() found in
92 - Simplify handling of the packtized lun Rev A workaround.
93 - Correct and simplify handling of the ignore wide residue
94 message. The previous code would fail to report a residual
95 if the transaction data length was even and we received
98 1.3.8 (April 29th, 2003)
99 - Fix types accessed via the command line interface code.
100 - Perform a few firmware optimizations.
101 - Fix "Unexpected PKT busfree" errors.
102 - Use a sequencer interrupt to notify the host of
103 commands with bad status. We defer the notification
104 until there are no outstanding selections to ensure
105 that the host is interrupted for as short a time as
107 - Remove pre-2.2.X support.
108 - Add support for new 2.5.X interrupt API.
109 - Correct big-endian architecture support.
111 1.3.7 (April 16th, 2003)
112 - Use del_timer_sync() to ensure that no timeouts
113 are pending during controller shutdown.
114 - For pre-2.5.X kernels, carefully adjust our segment
115 list size to avoid SCSI malloc pool fragmentation.
116 - Cleanup channel display in our /proc output.
117 - Workaround duplicate device entries in the mid-layer
118 devlice list during add-single-device.
120 1.3.6 (March 28th, 2003)
121 - Correct a double free in the Domain Validation code.
122 - Correct a reference to free'ed memory during controller
124 - Reset the bus on an SE->LVD change. This is required
125 to reset our transcievers.
127 1.3.5 (March 24th, 2003)
128 - Fix a few register window mode bugs.
129 - Include read streaming in the PPR flags we display in
130 diagnostics as well as /proc.
131 - Add PCI hot plug support for 2.5.X kernels.
132 - Correct default precompensation value for RevA hardware.
133 - Fix Domain Validation thread shutdown.
134 - Add a firmware workaround to make the LED blink
135 brighter during packetized operations on the H2A4.
136 - Correct /proc display of user read streaming settings.
137 - Simplify driver locking by releasing the io_request_lock
138 upon driver entry from the mid-layer.
139 - Cleanup command line parsing and move much of this code
142 1.3.4 (February 28th, 2003)
143 - Correct a race condition in our error recovery handler.
144 - Allow Test Unit Ready commands to take a full 5 seconds
145 during Domain Validation.
147 1.3.2 (February 19th, 2003)
148 - Correct a Rev B. regression due to the GEM318
149 compatibility fix included in 1.3.1.
151 1.3.1 (February 11th, 2003)
152 - Add support for the 39320A.
153 - Improve recovery for certain PCI-X errors.
154 - Fix handling of LQ/DATA/LQ/DATA for the
155 same write transaction that can occur without
156 interveining training.
157 - Correct compatibility issues with the GEM318
158 enclosure services device.
159 - Correct data corruption issue that occurred under
160 high tag depth write loads.
161 - Adapt to a change in the 2.5.X daemonize() API.
162 - Correct a "Missing case in ahd_handle_scsiint" panic.
164 1.3.0 (January 21st, 2003)
165 - Full regression testing for all U320 products completed.
166 - Added abort and target/lun reset error recovery handler and
167 interrupt coalessing.
169 1.2.0 (November 14th, 2002)
170 - Added support for Domain Validation
171 - Add support for the Hewlett-Packard version of the 39320D
172 and AIC-7902 adapters.
173 Support for previous adapters has not been fully tested and should
174 only be used at the customer's own risk.
176 1.1.1 (September 24th, 2002)
177 - Added support for the Linux 2.5.X kernel series
179 1.1.0 (September 17th, 2002)
180 - Added support for four additional SCSI products:
181 ASC-39320, ASC-29320, ASC-29320LP, AIC-7901.
183 1.0.0 (May 30th, 2002)
184 - Initial driver release.
186 2.1. Software/Hardware Features
187 - Support for the SPI-4 "Ultra320" standard:
188 - 320MB/s transfer rates
189 - Packetized SCSI Protocol at 160MB/s and 320MB/s
190 - Quick Arbitration Selection (QAS)
191 - Retained Training Information (Rev B. ASIC only)
192 - Interrupt Coalessing
193 - Initiator Mode (target mode not currently
195 - Support for the PCI-X standard up to 133MHz
196 - Support for the PCI v2.2 standard
199 2.2. Operating System Support:
200 - Redhat Linux 7.2, 7.3, 8.0, Advanced Server 2.1
201 - SuSE Linux 7.3, 8.0, 8.1, Enterprise Server 7
202 - only Intel and AMD x86 supported at this time
203 - >4GB memory configurations supported.
205 Refer to the User's Guide for more details on this.
207 3. Command Line Options
209 WARNING: ALTERING OR ADDING THESE DRIVER PARAMETERS
210 INCORRECTLY CAN RENDER YOUR SYSTEM INOPERABLE.
211 USE THEM WITH CAUTION.
213 Edit the file "modprobe.conf" in the directory /etc and add/edit a
214 line containing 'options aic79xx aic79xx=[command[,command...]]' where
215 'command' is one or more of the following:
216 -----------------------------------------------------------------
218 Definition: enable additional informative messages during
220 Possible Values: This option is a flag
221 Default Value: disabled
222 -----------------------------------------------------------------
223 Option: debug:[value]
224 Definition: Enables various levels of debugging information
225 The bit definitions for the debugging mask can
226 be found in drivers/scsi/aic7xxx/aic79xx.h under
228 Possible Values: 0x0000 = no debugging, 0xffff = full debugging
229 Default Value: 0x0000
230 -----------------------------------------------------------------
232 Definition: Do not reset the bus during the initial probe
234 Possible Values: This option is a flag
235 Default Value: disabled
236 -----------------------------------------------------------------
238 Definition: Force extended translation on the controller
239 Possible Values: This option is a flag
240 Default Value: disabled
241 -----------------------------------------------------------------
242 Option: periodic_otag
243 Definition: Send an ordered tag periodically to prevent
244 tag starvation. Needed for some older devices
245 Possible Values: This option is a flag
246 Default Value: disabled
247 -----------------------------------------------------------------
249 Definition: Probe the scsi bus in reverse order, starting
251 Possible Values: This option is a flag
252 Default Value: disabled
253 -----------------------------------------------------------------
254 Option: global_tag_depth
255 Definition: Global tag depth for all targets on all busses.
256 This option sets the default tag depth which
257 may be selectively overridden vi the tag_info
259 Possible Values: 1 - 253
261 -----------------------------------------------------------------
262 Option: tag_info:{{value[,value...]}[,{value[,value...]}...]}
263 Definition: Set the per-target tagged queue depth on a
264 per controller basis. Both controllers and targets
265 may be ommitted indicating that they should retain
266 the default tag depth.
267 Examples: tag_info:{{16,32,32,64,8,8,,32,32,32,32,32,32,32,32,32}
269 specifies a tag depth of 16 for target 0
270 specifies a tag depth of 64 for target 3
271 specifies a tag depth of 8 for targets 4 and 5
272 leaves target 6 at the default
273 specifies a tag depth of 32 for targets 1,2,7-15
274 All other targets retain the default depth.
276 tag_info:{{},{32,,32}}
278 specifies a tag depth of 32 for targets 0 and 2
279 All other targets retain the default depth.
281 Possible Values: 1 - 253
283 -----------------------------------------------------------------
284 Option: rd_strm: {rd_strm_bitmask[,rd_strm_bitmask...]}
285 Definition: Enable read streaming on a per target basis.
286 The rd_strm_bitmask is a 16 bit hex value in which
287 each bit represents a target. Setting the target's
288 bit to '1' enables read streaming for that
289 target. Controllers may be ommitted indicating that
290 they should retain the default read streaming setting.
291 Example: rd_strm:{0x0041}
293 enables read streaming for targets 0 and 6.
294 disables read streaming for targets 1-5,7-15.
295 All other targets retain the default read
297 Example: rd_strm:{0x0023,,0xFFFF}
299 enables read streaming for targets 1,2, and 5.
300 disables read streaming for targets 3,4,6-15.
302 enables read streaming for all targets.
303 All other targets retain the default read
306 Possible Values: 0x0000 - 0xffff
307 Default Value: 0x0000
308 -----------------------------------------------------------------
309 Option: dv: {value[,value...]}
310 Definition: Set Domain Validation Policy on a per-controller basis.
311 Controllers may be ommitted indicating that
312 they should retain the default read streaming setting.
313 Example: dv:{-1,0,,1,1,0}
314 On Controller 0 leave DV at its default setting.
315 On Controller 1 disable DV.
316 Skip configuration on Controller 2.
317 On Controllers 3 and 4 enable DV.
318 On Controller 5 disable DV.
320 Possible Values: < 0 Use setting from serial EEPROM.
323 Default Value: DV Serial EEPROM configuration setting.
324 -----------------------------------------------------------------
325 Option: seltime:[value]
326 Definition: Specifies the selection timeout value
327 Possible Values: 0 = 256ms, 1 = 128ms, 2 = 64ms, 3 = 32ms
329 -----------------------------------------------------------------
331 *** The following three options should only be changed at ***
332 *** the direction of a technical support representative. ***
334 -----------------------------------------------------------------
335 Option: precomp: {value[,value...]}
336 Definition: Set IO Cell precompensation value on a per-controller
338 Controllers may be ommitted indicating that
339 they should retain the default precompensation setting.
340 Example: precomp:{0x1}
341 On Controller 0 set precompensation to 1.
342 Example: precomp:{1,,7}
343 On Controller 0 set precompensation to 1.
344 On Controller 2 set precompensation to 8.
346 Possible Values: 0 - 7
347 Default Value: Varies based on chip revision
348 -----------------------------------------------------------------
349 Option: slewrate: {value[,value...]}
350 Definition: Set IO Cell slew rate on a per-controller basis.
351 Controllers may be ommitted indicating that
352 they should retain the default slew rate setting.
353 Example: slewrate:{0x1}
354 On Controller 0 set slew rate to 1.
355 Example: slewrate :{1,,8}
356 On Controller 0 set slew rate to 1.
357 On Controller 2 set slew rate to 8.
359 Possible Values: 0 - 15
360 Default Value: Varies based on chip revision
361 -----------------------------------------------------------------
362 Option: amplitude: {value[,value...]}
363 Definition: Set IO Cell signal amplitude on a per-controller basis.
364 Controllers may be ommitted indicating that
365 they should retain the default read streaming setting.
366 Example: amplitude:{0x1}
367 On Controller 0 set amplitude to 1.
368 Example: amplitude :{1,,7}
369 On Controller 0 set amplitude to 1.
370 On Controller 2 set amplitude to 7.
372 Possible Values: 1 - 7
373 Default Value: Varies based on chip revision
374 -----------------------------------------------------------------
376 Example: 'options aic79xx aic79xx=verbose,rd_strm:{{0x0041}}'
377 enables verbose output in the driver and turns read streaming on
378 for targets 0 and 6 of Controller 0.
382 4.1. Known/Unresolved or FYI Issues
384 * Under SuSE Linux Enterprise 7, the driver may fail to operate
385 correctly due to a problem with PCI interrupt routing in the
386 Linux kernel. Please contact SuSE for an updated Linux
389 4.2. Third-Party Compatibility Issues
391 * Adaptec only supports Ultra320 hard drives running
392 the latest firmware available. Please check with
393 your hard drive manufacturer to ensure you have the
396 4.3. Operating System or Technology Limitations
398 * PCI Hot Plug is untested and may cause the operating system
400 * Luns that are not numbered contiguously starting with 0 might not
401 be automatically probed during system startup. This is a limitation
402 of the OS. Please contact your Linux vendor for instructions on
403 manually probing non-contiguous luns.
404 * Using the Driver Update Disk version of this package during OS
405 installation under RedHat might result in two versions of this
406 driver being installed into the system module directory. This
407 might cause problems with the /sbin/mkinitrd program and/or
408 other RPM packages that try to install system modules. The best
409 way to correct this once the system is running is to install
410 the latest RPM package version of this driver, available from
411 http://www.adaptec.com.
414 5. Contacting Adaptec
416 A Technical Support Identification (TSID) Number is required for
417 Adaptec technical support.
418 - The 12-digit TSID can be found on the white barcode-type label
419 included inside the box with your product. The TSID helps us
420 provide more efficient service by accurately identifying your
421 product and support status.
423 - Search the Adaptec Support Knowledgebase (ASK) at
424 http://ask.adaptec.com for articles, troubleshooting tips, and
425 frequently asked questions for your product.
426 - For support via Email, submit your question to Adaptec's
427 Technical Support Specialists at http://ask.adaptec.com.
430 - Visit our Web site at http://www.adaptec.com.
431 - To speak with a Fibre Channel/RAID/External Storage Technical
432 Support Specialist, call 1-321-207-2000,
433 Hours: Monday-Friday, 3:00 A.M. to 5:00 P.M., PST.
434 (Not open on holidays)
435 - For Technical Support in all other technologies including
436 SCSI, call 1-408-934-7274,
437 Hours: Monday-Friday, 6:00 A.M. to 5:00 P.M., PST.
438 (Not open on holidays)
439 - For after hours support, call 1-800-416-8066 ($99/call,
440 $149/call on holidays)
441 - To order Adaptec products including software and cables, call
442 1-800-442-7274 or 1-408-957-7274. You can also visit our
443 online store at http://www.adaptecstore.com
446 - Visit our Web site at http://www.adaptec-europe.com.
447 - English and French: To speak with a Technical Support
448 Specialist, call one of the following numbers:
449 - English: +32-2-352-3470
450 - French: +32-2-352-3460
451 Hours: Monday-Thursday, 10:00 to 12:30, 13:30 to 17:30 CET
452 Friday, 10:00 to 12:30, 13:30 to 16:30 CET
453 - German: To speak with a Technical Support Specialist,
454 call +49-89-456-40660
455 Hours: Monday-Thursday, 09:30 to 12:30, 13:30 to 16:30 CET
456 Friday, 09:30 to 12:30, 13:30 to 15:00 CET
457 - To order Adaptec products, including accessories and cables:
458 - UK: +0800-96-65-26 or fax +0800-731-02-95
459 - Other European countries: +32-11-300-379
461 Australia and New Zealand
462 - Visit our Web site at http://www.adaptec.com.au.
463 - To speak with a Technical Support Specialist, call
465 Hours: Monday-Friday, 10:00 A.M. to 4:30 P.M., EAT
466 (Not open on holidays)
469 - To speak with a Technical Support Specialist, call
471 Hours: Monday-Friday, 9:00 a.m. to 12:00 p.m., 1:00 p.m. to
475 - To speak with a Technical Support Specialist, call
477 Hours: Monday-Friday, 10:00 to 17:00.
478 - Fax Technical Support at +852-2869-7100.
481 - To speak with a Technical Support Specialist, call
483 Hours: Monday-Friday, 10:00 to 17:00.
484 - Fax Technical Support at +852-2869-7100
486 -------------------------------------------------------------------
488 * Copyright (c) 2003 Adaptec Inc. 691 S. Milpitas Blvd., Milpitas CA 95035 USA.
489 * All rights reserved.
491 * You are permitted to redistribute, use and modify this README file in whole
492 * or in part in conjunction with redistribution of software governed by the
493 * General Public License, provided that the following conditions are met:
494 * 1. Redistributions of README file must retain the above copyright
495 * notice, this list of conditions, and the following disclaimer,
496 * without modification.
497 * 2. The name of the author may not be used to endorse or promote products
498 * derived from this software without specific prior written permission.
499 * 3. Modifications or new contributions must be attributed in a copyright
500 * notice identifying the author ("Contributor") and added below the
501 * original copyright notice. The copyright notice is for purposes of
502 * identifying contributors and should not be deemed as permission to alter
503 * the permissions given by Adaptec.
505 * THIS README FILE IS PROVIDED BY ADAPTEC AND CONTRIBUTORS ``AS IS'' AND
506 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, ANY
507 * WARRANTIES OF NON-INFRINGEMENT OR THE IMPLIED WARRANTIES OF MERCHANTABILITY
508 * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
509 * ADAPTEC OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
510 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
511 * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
512 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
513 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
514 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS README
515 * FILE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.