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