diff options
Diffstat (limited to 'Documentation/scsi/aic79xx.txt')
-rw-r--r-- | Documentation/scsi/aic79xx.txt | 516 |
1 files changed, 516 insertions, 0 deletions
diff --git a/Documentation/scsi/aic79xx.txt b/Documentation/scsi/aic79xx.txt new file mode 100644 index 000000000000..0aeef740a95a --- /dev/null +++ b/Documentation/scsi/aic79xx.txt | |||
@@ -0,0 +1,516 @@ | |||
1 | ==================================================================== | ||
2 | = Adaptec Ultra320 Family Manager Set v1.3.11 = | ||
3 | = = | ||
4 | = README for = | ||
5 | = The Linux Operating System = | ||
6 | ==================================================================== | ||
7 | |||
8 | The following information is available in this file: | ||
9 | |||
10 | 1. Supported Hardware | ||
11 | 2. Version History | ||
12 | 3. Command Line Options | ||
13 | 4. Additional Notes | ||
14 | 5. Contacting Adaptec | ||
15 | |||
16 | |||
17 | 1. Supported Hardware | ||
18 | |||
19 | The following Adaptec SCSI Host Adapters are supported by this | ||
20 | driver set. | ||
21 | |||
22 | Ultra320 ASIC Description | ||
23 | ---------------------------------------------------------------- | ||
24 | AIC-7901A Single Channel 64-bit PCI-X 133MHz to | ||
25 | Ultra320 SCSI ASIC | ||
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 | ||
29 | Ultra320 SCSI ASIC | ||
30 | AIC-7902B Dual Channel 64-bit PCI-X 133MHz to | ||
31 | Ultra320 SCSI ASIC with Retained Training | ||
32 | |||
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 | ||
47 | AIC-7902B ASIC | ||
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 | ||
51 | internal 50-pin) | ||
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 | ||
55 | internal 50-pin) | ||
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 | ||
59 | 68-pin) | ||
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 | ||
63 | 68-pin) | ||
64 | 2. Version History | ||
65 | |||
66 | 1.3.11 (July 11, 2003) | ||
67 | - Fix several deadlock issues. | ||
68 | - Add 29320ALP and 39320B Id's. | ||
69 | |||
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. | ||
84 | |||
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 | ||
90 | 2.5.X kernels. | ||
91 | - Add 7901B support. | ||
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 | ||
96 | an IWR message. | ||
97 | |||
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 | ||
106 | possible. | ||
107 | - Remove pre-2.2.X support. | ||
108 | - Add support for new 2.5.X interrupt API. | ||
109 | - Correct big-endian architecture support. | ||
110 | |||
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. | ||
119 | |||
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 | ||
123 | shutdown. | ||
124 | - Reset the bus on an SE->LVD change. This is required | ||
125 | to reset our transcievers. | ||
126 | |||
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 | ||
140 | to aiclib. | ||
141 | |||
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. | ||
146 | |||
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. | ||
150 | |||
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. | ||
163 | |||
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. | ||
168 | |||
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. | ||
175 | |||
176 | 1.1.1 (September 24th, 2002) | ||
177 | - Added support for the Linux 2.5.X kernel series | ||
178 | |||
179 | 1.1.0 (September 17th, 2002) | ||
180 | - Added support for four additional SCSI products: | ||
181 | ASC-39320, ASC-29320, ASC-29320LP, AIC-7901. | ||
182 | |||
183 | 1.0.0 (May 30th, 2002) | ||
184 | - Initial driver release. | ||
185 | |||
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 | ||
194 | supported) | ||
195 | - Support for the PCI-X standard up to 133MHz | ||
196 | - Support for the PCI v2.2 standard | ||
197 | - Domain Validation | ||
198 | |||
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. | ||
204 | |||
205 | Refer to the User's Guide for more details on this. | ||
206 | |||
207 | 3. Command Line Options | ||
208 | |||
209 | WARNING: ALTERING OR ADDING THESE DRIVER PARAMETERS | ||
210 | INCORRECTLY CAN RENDER YOUR SYSTEM INOPERABLE. | ||
211 | USE THEM WITH CAUTION. | ||
212 | |||
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 | ----------------------------------------------------------------- | ||
217 | Option: verbose | ||
218 | Definition: enable additional informative messages during | ||
219 | driver operation. | ||
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 | ||
227 | the "Debug" heading. | ||
228 | Possible Values: 0x0000 = no debugging, 0xffff = full debugging | ||
229 | Default Value: 0x0000 | ||
230 | ----------------------------------------------------------------- | ||
231 | Option: no_reset | ||
232 | Definition: Do not reset the bus during the initial probe | ||
233 | phase | ||
234 | Possible Values: This option is a flag | ||
235 | Default Value: disabled | ||
236 | ----------------------------------------------------------------- | ||
237 | Option: extended | ||
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 | ----------------------------------------------------------------- | ||
248 | Option: reverse_scan | ||
249 | Definition: Probe the scsi bus in reverse order, starting | ||
250 | with target 15 | ||
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 | ||
258 | option. | ||
259 | Possible Values: 1 - 253 | ||
260 | Default Value: 32 | ||
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} | ||
268 | On Controller 0 | ||
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. | ||
275 | |||
276 | tag_info:{{},{32,,32}} | ||
277 | On Controller 1 | ||
278 | specifies a tag depth of 32 for targets 0 and 2 | ||
279 | All other targets retain the default depth. | ||
280 | |||
281 | Possible Values: 1 - 253 | ||
282 | Default Value: 32 | ||
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} | ||
292 | On Controller 0 | ||
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 | ||
296 | streaming setting. | ||
297 | Example: rd_strm:{0x0023,,0xFFFF} | ||
298 | On Controller 0 | ||
299 | enables read streaming for targets 1,2, and 5. | ||
300 | disables read streaming for targets 3,4,6-15. | ||
301 | On Controller 2 | ||
302 | enables read streaming for all targets. | ||
303 | All other targets retain the default read | ||
304 | streaming setting. | ||
305 | |||
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. | ||
319 | |||
320 | Possible Values: < 0 Use setting from serial EEPROM. | ||
321 | 0 Disable DV | ||
322 | > 0 Enable DV | ||
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 | ||
328 | Default Value: 0 | ||
329 | ----------------------------------------------------------------- | ||
330 | |||
331 | *** The following three options should only be changed at *** | ||
332 | *** the direction of a technical support representative. *** | ||
333 | |||
334 | ----------------------------------------------------------------- | ||
335 | Option: precomp: {value[,value...]} | ||
336 | Definition: Set IO Cell precompensation value on a per-controller | ||
337 | basis. | ||
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. | ||
345 | |||
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. | ||
358 | |||
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. | ||
371 | |||
372 | Possible Values: 1 - 7 | ||
373 | Default Value: Varies based on chip revision | ||
374 | ----------------------------------------------------------------- | ||
375 | |||
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. | ||
379 | |||
380 | 4. Additional Notes | ||
381 | |||
382 | 4.1. Known/Unresolved or FYI Issues | ||
383 | |||
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 | ||
387 | kernel. | ||
388 | |||
389 | 4.2. Third-Party Compatibility Issues | ||
390 | |||
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 | ||
394 | latest version. | ||
395 | |||
396 | 4.3. Operating System or Technology Limitations | ||
397 | |||
398 | * PCI Hot Plug is untested and may cause the operating system | ||
399 | to stop responding. | ||
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. | ||
412 | |||
413 | |||
414 | 5. Contacting Adaptec | ||
415 | |||
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. | ||
422 | Support Options | ||
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. | ||
428 | |||
429 | North America | ||
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 | ||
444 | |||
445 | Europe | ||
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 | ||
460 | |||
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 | ||
464 | +612-9416-0698 | ||
465 | Hours: Monday-Friday, 10:00 A.M. to 4:30 P.M., EAT | ||
466 | (Not open on holidays) | ||
467 | |||
468 | Japan | ||
469 | - To speak with a Technical Support Specialist, call | ||
470 | +81-3-5308-6120 | ||
471 | Hours: Monday-Friday, 9:00 a.m. to 12:00 p.m., 1:00 p.m. to | ||
472 | 6:00 p.m. TSC | ||
473 | |||
474 | Hong Kong and China | ||
475 | - To speak with a Technical Support Specialist, call | ||
476 | +852-2869-7200 | ||
477 | Hours: Monday-Friday, 10:00 to 17:00. | ||
478 | - Fax Technical Support at +852-2869-7100. | ||
479 | |||
480 | Singapore | ||
481 | - To speak with a Technical Support Specialist, call | ||
482 | +65-245-7470 | ||
483 | Hours: Monday-Friday, 10:00 to 17:00. | ||
484 | - Fax Technical Support at +852-2869-7100 | ||
485 | |||
486 | ------------------------------------------------------------------- | ||
487 | /* | ||
488 | * Copyright (c) 2003 Adaptec Inc. 691 S. Milpitas Blvd., Milpitas CA 95035 USA. | ||
489 | * All rights reserved. | ||
490 | * | ||
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. | ||
504 | * | ||
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. | ||
516 | */ | ||